Titanium-Android擦除图像

时间:2018-09-26 05:11:44

标签: android image appcelerator-titanium

我有一个带有背景图像的view-1,另一个在view-1顶部有图像的view-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);

1 个答案:

答案 0 :(得分:0)

问题出在ti.paint模块中的setImage属性。设置图像之前,应使用主线程。

在PaintViewProxy.java模块中执行以下更改:

public void setImage(String imagePath) {
final String imgPath = imagePath;
getActivity().runOnUiThread(new Runnable() {
    @Override
    public void run() {
        paintView.setImage(imgPath);
    }
});

}