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);
    }
});

}