feat:android support ArrayBuffer Resource
This commit is contained in:
@@ -14,14 +14,17 @@ import {
|
||||
Text,
|
||||
Gravity,
|
||||
resourceLoader,
|
||||
imageDecoder,
|
||||
createRef,
|
||||
loge,
|
||||
} from "doric";
|
||||
import { colors, label } from "./utils";
|
||||
import { img_base64 } from "./image_base64";
|
||||
import { loge } from "doric/lib/src/util/log";
|
||||
|
||||
@Entry
|
||||
export class ResourceDemo extends Panel {
|
||||
build(root: Group): void {
|
||||
const iv = createRef<Image>();
|
||||
<Scroller parent={root} layoutConfig={layoutConfig().most()}>
|
||||
<VLayout
|
||||
layoutConfig={layoutConfig().mostWidth().fitHeight()}
|
||||
@@ -53,12 +56,24 @@ export class ResourceDemo extends Panel {
|
||||
/>
|
||||
<Image
|
||||
image={new Base64Resource(img_base64[0])}
|
||||
ref={iv}
|
||||
onClick={async () => {
|
||||
const resource = new RemoteResource(
|
||||
"https://p.upyun.com/demo/webp/webp/jpg-0.webp"
|
||||
);
|
||||
const rawData = await resourceLoader(context).load(resource);
|
||||
loge(rawData.byteLength);
|
||||
const imageInfo = await imageDecoder(context).getImageInfo(
|
||||
resource
|
||||
);
|
||||
loge(imageInfo);
|
||||
const pixels = await imageDecoder(context).decodeToPixels(resource);
|
||||
const unit8Array = new Uint8Array(pixels);
|
||||
for (let i = 0; i < unit8Array.length; i += 4) {
|
||||
unit8Array[i] -= 20;
|
||||
}
|
||||
loge(pixels.byteLength);
|
||||
iv.current.image = resource;
|
||||
}}
|
||||
/>
|
||||
</VLayout>
|
||||
|
Reference in New Issue
Block a user