Android:如何绘制下载的位图,然后将其填充到ImageView?

时间:2015-01-05 16:51:44

标签: java android imageview android-custom-view

我的应用程序正在下载一个位图,该位图稍后会填充到自定义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);
        }
    }
}

1 个答案:

答案 0 :(得分:1)

您可以随时创建带位图的画布:

Canvas canvas = new Canvas(myBitmap);
// draw code
// the resulting bitmap will be edited.

希望这有帮助