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通過畢加索在圖像上繪製?