使用 canvas 和 Android 中的位图绘制 8x8 正方形
Draw a 8x8 squares using canvas and bitmap in Android
我对 android 开发还很陌生。我正在尝试获取一个 8x8 整数数组并使用 canvas 和位图制作一个 8x8 正方形(64 个正方形),下图显示了我想要完成的任务。每个正方形将对应整数数组的索引,正方形的颜色将根据整数(0-255)而变化。
目前,我只是想绘制我的应用程序的布局,但我一直坚持使用 canvas 和位图绘制正方形数组。我查看了不同的来源,以下两个似乎非常接近我想要做的。
source 1:我像这样声明了一个二维位图变量:Bitmap bmp[][] = new Bitmap[8][8]
并尝试使用双 for 循环,但我的应用程序因
而崩溃
Boolean android.graphics.Bitmap.isRecycled() on a null reference
source 2 我尝试了 alexander zak 的回答,但我不确定如何使用位图 return 值在屏幕上绘制正方形。
有人对我如何实现我的目标有什么建议吗?感谢您的帮助。
解决方法:
创建位图对象Bitmap bmp = Bitmap.createBitmap(8, 8, bitmap.Config.ARGB_8888)
设置每个像素(64)bmp.setPixel(index_of_the_bitmap_x, index_of_the_bitmap_y, int color)
使用双 for 循环或任何其他方式。
在 canvas 上绘制位图并将其缩放为矩形大小:canvas.drawBitmap(bmp, null, destinationRet, null);
我对 android 开发还很陌生。我正在尝试获取一个 8x8 整数数组并使用 canvas 和位图制作一个 8x8 正方形(64 个正方形),下图显示了我想要完成的任务。每个正方形将对应整数数组的索引,正方形的颜色将根据整数(0-255)而变化。
目前,我只是想绘制我的应用程序的布局,但我一直坚持使用 canvas 和位图绘制正方形数组。我查看了不同的来源,以下两个似乎非常接近我想要做的。
source 1:我像这样声明了一个二维位图变量:Bitmap bmp[][] = new Bitmap[8][8]
并尝试使用双 for 循环,但我的应用程序因
Boolean android.graphics.Bitmap.isRecycled() on a null reference
source 2 我尝试了 alexander zak 的回答,但我不确定如何使用位图 return 值在屏幕上绘制正方形。
有人对我如何实现我的目标有什么建议吗?感谢您的帮助。
解决方法:
创建位图对象Bitmap bmp = Bitmap.createBitmap(8, 8, bitmap.Config.ARGB_8888)
设置每个像素(64)bmp.setPixel(index_of_the_bitmap_x, index_of_the_bitmap_y, int color)
使用双 for 循环或任何其他方式。
在 canvas 上绘制位图并将其缩放为矩形大小:canvas.drawBitmap(bmp, null, destinationRet, null);