Titanium - Android 擦除图像
Titanium - Android Erase an image
我有一个带有背景图像的视图 1 和另一个位于带有图像的视图 1 之上的视图 2。我需要擦除 view-2 中的图像并需要在 view-1 中显示图像。
在 IOS 中使用绘画模块是可能的。但在 android 中,它不起作用。
这是我的代码:
<Alloy>
<Window id="scratchImageScreen">
<View id="canvasView"></View>
</Window>
</Alloy>
var Paint = require('ti.paint');
var paintView = null;
$.canvasView.backgroundImage = "/images/scratchImage/scratchCard1.png";
paintView = Paint.createPaintView({
top : 0,
right : 0,
bottom : 0,
left : 0,
strokeWidth : 10,
eraseMode : true,
image : "/images/scratchImage/scratch_card.png"
});
$.canvasView.add(paintView);
问题出在您的 ti.paint 中的 setImage 属性 module.You 应该在设置图像之前使用主线程。
在 PaintViewProxy.java 模块中进行以下更改:
public void setImage(String imagePath) {
final String imgPath = imagePath;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
paintView.setImage(imgPath);
}
});
}
我有一个带有背景图像的视图 1 和另一个位于带有图像的视图 1 之上的视图 2。我需要擦除 view-2 中的图像并需要在 view-1 中显示图像。 在 IOS 中使用绘画模块是可能的。但在 android 中,它不起作用。
这是我的代码:
<Alloy>
<Window id="scratchImageScreen">
<View id="canvasView"></View>
</Window>
</Alloy>
var Paint = require('ti.paint');
var paintView = null;
$.canvasView.backgroundImage = "/images/scratchImage/scratchCard1.png";
paintView = Paint.createPaintView({
top : 0,
right : 0,
bottom : 0,
left : 0,
strokeWidth : 10,
eraseMode : true,
image : "/images/scratchImage/scratch_card.png"
});
$.canvasView.add(paintView);
问题出在您的 ti.paint 中的 setImage 属性 module.You 应该在设置图像之前使用主线程。
在 PaintViewProxy.java 模块中进行以下更改:
public void setImage(String imagePath) {
final String imgPath = imagePath;
getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
paintView.setImage(imgPath);
}
});
}