我对 Android 开发还很陌生。我正在尝试使用 Canvas 和位图获取一个 8x8 整数数组并制作一个 8x8 正方形(64 个正方形),下图显示了我想要完成的任务。每个方 block 将对应于整数数组的索引,并且方 block 的颜色将根据整数(0-255)而变化。
目前,我只是想绘制应用程序的布局,但我一直坚持使用 Canvas 和位图绘制正方形数组。我查看了不同的来源,以下两个似乎非常接近我想做的事情。
source 1 :我声明了一个 2d 位图变量,如下所示: Bitmap bmp[][] = new Bitmap[8][8]
并尝试使用双 for 循环,但我的应用程序因
Boolean android.graphics.Bitmap.isRecycled() on a null reference
source 2我尝试了亚历山大扎克的答案,但我不确定如何使用位图返回值在屏幕上绘制正方形。
有人对我如何实现目标有任何建议吗?感谢您的帮助。
最佳答案
解决办法:
创建位图对象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)
使用双循环或任何一个。
在 Canvas 上绘制位图并将其缩放为矩形大小:canvas.drawBitmap(bmp, null, destinationRet, null);
关于java - 在Android中使用canvas和位图绘制8x8的正方形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45445268/