我有一个预切图像,即基本图像的一个基本图像和多个透明层。 我试图在基本图像的顶部添加图层图像以选择图层并在其上应用不同的颜色。
我尝试了以下方法来实现它但无法完成。
ImageView - 我将imageview与透明图层图像重叠。它显示混合图像,但触摸事件始终检测最终重叠的图像ID。因为我用填充父项绘制图像,所有图层图像也是相同的
图层可绘制 - 它只允许可绘制图像,但我的用例是从图库或其他资源加载预切。即使我无法在触摸时选择图层。
GPUImage库 - 图像未显示完整的imageview。
此致 Sathiya
答案 0 :(得分:0)
扩展View类,使onDraw()函数绘制您想要绘制的内容。 onTouchEvent()函数实现触摸事件。您尝试做的事情并没有包含在已经制作的任何视图中,但是很容易制作视图。只需使用正确的油漆以正确的透明度在画布上绘制位图。
@Override
protected void onDraw(Canvas canvas) {
int numLayers = mLayers.size();
for (int i = 0; i < numLayers; i++) {
canvas.save();
canvas.concat(matrix);
//or
canvas.translate(rect.left,rect.top);
Bitmap b = mLayers.get(i);
canvas.drawBitmap(b, paint);
canvas.restore();
}}
你最终只需要在任何地方向画布添加位图,并根据需要进行排序。