我正在尝试将图像绘制到画布中。在构造函数中:
this.Icon = new ImageView(context);
this.Icon.SetImageResource(Resource.Drawable.icon);
this.Icon.LayoutParameters = new ViewGroup.LayoutParams(width, height);
在OnDraw
:
protected override void OnDraw(Canvas canvas)
{
this.Icon.SetX(x);
this.Icon.SetY(y);
this.Icon.RequestLayout();
this.Icon.Draw(canvas);
}
它没有出现。我错过了什么吗?
我的课程延伸View
答案 0 :(得分:0)
我找到了在视图中绘制图像的方法:
Bitmap bitmap = BitmapFactory.DecodeResource(Resources, Resource.Drawable.icon);
var scaledBitmap = Bitmap.CreateScaledBitmap(bitmap, w, h, false);
canvas.DrawBitmap(scaledBitmap, x, y, paint);
但这是好习惯吗?以这种方式绘制它的资源是否更加昂贵?