如何清除ImageView对象的内容,以便我可以使用PixelWriter对象重绘图像?
由于
e.g。
ImageView tmpView = new ImageView();
WritableImage writableImage = new WritableImage(width, height);
PixelWriter pixelWriter = writableImage.getPixelWriter();
...
tmpView.setImage(writableImage);
...
//draw the first image
...
//clear the contents of tmpView
//???
//redraw imgView
pixelWriter.setColor(x, y, color);
答案 0 :(得分:0)
在argb颜色模型中,[].concat(7).map(function (n) {
return n * n;
});
表示透明。由于let cols = [];
for (let i =0; i <= 7; i++) {
cols.push(<div id={i}> ... </div>)
}
return cols;
创建了0
长度new int[n]
的数组,并且所有值都已初始化为int
,因此以下内容将使所有像素都透明:
n
如果您希望所有像素都是白色(例如),那么您可以使用适当的值填充数组:
0
另一种选择就是创建一个新的pixelWriter.setPixels(0, 0, width, height, PixelFormat.getIntArgbInstance(),
new int[width*height], 0, width);
并在图片视图中设置它。
答案 1 :(得分:0)
在不知道原始任务的任何进一步细节的情况下,我在这里使用Canvas而不是Image / ImageView。借助Canvas的绘图功能,您可以轻松地清除该区域,而无需创建可能需要填充颜色值的巨大阵列。