java - 在Android中使用canvas和位图绘制8x8的正方形

标签 java android arrays android-canvas android-bitmap

我对 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/

相关文章:

java - 如何使用递归对 ArrayList<Integers> 求和?

java - 第二次用字符串元素数组填充微调器时出错

java - 偏好设置中的 Android 按钮更改 MainActivity

javascript - 二维数组填充不起作用javascript

Java - ServerSocket accept() 方法在 while(true) 循环中重复

java - 来自外部 JAR 的 Minecraft 插件 ClassNotFound 错误

java - 列表的自动 XmlRootElement 包装器

android - 如何在 android ndk 构建的 gradle 文件中指定 NDK_TOOLCHAIN_VERSION

java - 如何遍历成对的数组列表以检索指定键的值?

c - 期待;在字符串声明的末尾