使用 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);