gpt4 book ai didi

android - 如何设置图像以填充 Canvas

转载 作者:行者123 更新时间:2023-11-29 00:46:55 26 4
gpt4 key购买 nike

我正在尝试设置一个 png 图像来填充我的 Canvas 背景,同时仍保持其纵横比。我首先将其转换为位图:然后使用 Canvas 类中的 setBitmap 方法设置背景:

http://developer.android.com/reference/android/graphics/Canvas.html#Canvas(android.graphics.Bitmap )

public class PlayOn extends View{

Bitmap board;

public PlayOn(Context gamecontext) {
super(gamecontext);
board=BitmapFactory.decodeResource(getResources(),R.drawable.board_rev1);
}

@Override
protected void onDraw(Canvas mycanvas) {

super.onDraw(mycanvas);
mycanvas.setBitmap(board);

}
}

但是一旦我转到调用此扩展 View 类的 Activity 时,我收到一条错误消息,提示我的应用程序意外停止。我也试过使用 Canvas 和 Bitmap 类中的其他一些函数,但似乎没有任何效果。

请问最好的方法是什么?我在 android 开发者网站上读到,有一种方法可以设置图像,使其成为 Canvas ,然后可以在其中绘制其他图像,但我不知道该怎么做。

谢谢!

最佳答案

您可能想要添加一个 Log.d 来检查板位图是否从

返回
BitmapFactory.decodeResource(getResources(),R.drawable.board_rev1); 

不为空。但是我在几个应用程序中使用以下方法在 onDraw 中将位图绘制到全屏 View ,因此如果位图不为空,那应该可以正常工作。

canvas.drawBitmap(mBitmap, 0, 0, null);

还有一个版本的 drawBitmap 可以缩放,即

void canvas.drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint)
Draw the specified bitmap, scaling/translating automatically to fill the
destination rectangle.

您可能想尝试一下?

关于android - 如何设置图像以填充 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890809/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com