java - 从矩阵绘制和显示位图
问题描述
我是 Android 的 Java 编程新手,并且正在研究一个可能很简单的问题。我有一个由 25 个整数组成的数组,它们代表 25 个像素的颜色。我正在尝试使用 Bitmap.createBitmap 从中创建一个 5x5 位图并将其显示在 ImageView 中。
我正在使用 ARGB_8888 颜色编码,它以下列方式将十六进制用于 RGB+A(半透明): int color = (A & 0xff) << 24 | (B & 0xff) << 16 | (G & 0xff << 8 | (R & 0xff)。那么我认为没有半透明的黑色应该是 0 是对的吗?
任何帮助将不胜感激!谢谢!
我发现的所有文档都是关于使用矩阵转换(缩放和旋转)位图的。
package com.example.fingerpaint;
import android.content.Intent;
import android.graphics.Bitmap;
import android.os.Bundle;
import android.widget.ImageView;
import androidx.appcompat.app.AppCompatActivity;
public class Main2Activity extends AppCompatActivity {
Bitmap picture;
int[] colors = new int[25];
int width;
ImageView Image;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
Intent mIntent = getIntent();
width = mIntent.getIntExtra("width", 0);
for(int k = 0; k<25; k++){
colors[k]= (0 & 0xff) << 24;
}
picture = Bitmap.createBitmap(colors,5,5, Bitmap.Config.ARGB_8888);
Image = (ImageView) findViewById(R.id.imageView);
Image.setImageBitmap(picture);
}
}
在我的 android 设备上执行应用程序时,没有出现错误,也没有 ImageView(应该是一个黑色的小方块)可见。
解决方案
推荐阅读
- java - 将目标 SDK 版本从 26 更新到 27 后,FusedLocationProviderClient 在脱机时停止在 Lollipop 中工作(仅)
- php - 数据库锁和 Web 服务器如何在数据库会话方面协作?
- python - 无法从用 AWS Lambda 函数编写的生产者向 AWS EC2 上的 kafka 发送消息
- android - 创建点仍然抛出 NullPointerException
- node.js - 在 Azure Bot Framework (Nodejs) 中使用 session.send 向对话发送 Webhook 响应
- c# - 在 xaml xamarin 和 C# 中更改 IsVisible 时上滑动画
- c++ - 如何在代码块中安装 gtkmm?
- java - 休眠选择查询
- excel - Excel 中的文本分隔
- php - 带有 NTLM 代理的 Docker 中的 PHP:无法分配请求的地址