我的应用程序正在下载一个位图,该位图稍后会填充到自定义ImageView中。但是我希望在实际在画布上绘制之前更新这个位图(我想在它上面添加一些点)。但是结果我只看到填充的位图而没有我做的更改。有人可以帮忙吗?
这是我的onDraw方法。 “bitmap”对象是通过onPostExecute()方法从AsyncTask接收的setImageBitmap设置的。
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
if (bitmap != null) {
Display display = ((WindowManager) getContext().getSystemService(Context.WINDOW_SERVICE)).getDefaultDisplay();
Point size = new Point();
display.getSize(size);
int width = size.x;
int padding = (width - bitmap.getWidth()) / 2;
canvas.drawBitmap(bitmap, padding, 0, null);
paint.setColor(Color.RED);
paint.setStrokeWidth(5f);
for (Face face : getPhotoObject().getFaces()) {
canvas.drawPoint(face.getLeftEye().x, face.getLeftEye().y, paint);
canvas.drawPoint(face.getRightEye().x, face.getRightEye().y, paint);
}
}
}
答案 0 :(得分:1)
您可以随时创建带位图的画布:
Canvas canvas = new Canvas(myBitmap);
// draw code
// the resulting bitmap will be edited.
希望这有帮助