1
我想弄清楚如何简单地在毕加索中设置的图像上绘制一条线。我发现,如果我只是设置图像,给定一个URI,与毕加索并尝试使用画漆给它的以下内容:在毕加索设置的ImageView上绘制一条线
canvas = new Canvas(bitmap);
image.draw(canvas);
topEdge = new Paint();
topEdge.setColor(context.getResources().getColor(R.color.blue));
topEdge.setStrokeWidth(5);
canvas.drawLine(c1.getX(), c1.getY(), c2.getX(), c2.getY(), topEdge);
然后我得到一个崩溃说,位图需要是可变的第一。所以我在代码上面加了这个:
Bitmap workingBitmap = ((BitmapDrawable) image.getDrawable()).getBitmap();
Bitmap mutableBitmap = workingBitmap.copy(Bitmap.Config.ARGB_8888, true);
然后改用new Canvas(mutableBitmap)
来创建画布。这消除了崩溃,但没有任何东西正在绘制。我相信这是因为我的毕加索之前正在设置图像,所以现在我需要用这个新的可变位图重新设置毕加索。问题是这个代码在Picasso的onSuccess()回调中。我能做些什么来允许Paint通过毕加索在图像上绘制?