From 7cb7703921d18b7aabdcfefb58fad86d9f258675 Mon Sep 17 00:00:00 2001 From: hyb1996 <946994919@qq.com> Date: Mon, 28 May 2018 21:43:08 +0800 Subject: [PATCH] api(images): images.copy(), Image(width, height) api(canvas): canvas.toImage(), Canvas(width, height) --- .../stardust/autojs/core/graphics/ScriptCanvas.java | 12 +++++++++--- .../com/stardust/autojs/core/image/ImageWrapper.java | 1 - 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java index 2041e491..25bcbe0b 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java +++ b/autojs/src/main/java/com/stardust/autojs/core/graphics/ScriptCanvas.java @@ -26,17 +26,19 @@ import com.stardust.autojs.runtime.ScriptRuntime; public class ScriptCanvas { private Canvas mCanvas; + private Bitmap mBitmap; - public ScriptCanvas(Canvas canvas) { - mCanvas = canvas; + public ScriptCanvas(int width, int height) { + this(Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888)); } public ScriptCanvas(@NonNull Bitmap bitmap) { mCanvas = new Canvas(bitmap); + mBitmap = bitmap; } public ScriptCanvas(@NonNull ImageWrapper image) { - this(image.getBitmap()); + this(image.getBitmap().copy(image.getBitmap().getConfig(), true)); } public ScriptCanvas() { @@ -47,6 +49,10 @@ public class ScriptCanvas { mCanvas = canvas; } + public ImageWrapper toImage() { + return ImageWrapper.ofBitmap(mBitmap.copy(mBitmap.getConfig(), true)); + } + public boolean isHardwareAccelerated() { return mCanvas.isHardwareAccelerated(); } diff --git a/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java b/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java index 89ead9e0..6aa74529 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java +++ b/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java @@ -19,7 +19,6 @@ import java.nio.ByteBuffer; /** * Created by Stardust on 2017/11/25. */ - public class ImageWrapper { private Mat mMat;