我的问题是:我有一个必须用 ImageView 显示的字节数组。这是我的代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ImageView imageView = (ImageView)findViewById(R.id.show_image);
byte[] arrayBytes = ...; // It's initialized
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSample = 4;
imageView.setImageBitmap(BitmapFactory.decodeByteArray(arrayBytes,0,arrayBytes.length,options));
}
存储在字节数组中的每个字节都是 double[][] 的一个元素,但采用字节格式。Android 默认使用 ARGB_8888 格式。
我不知道哪种是显示灰度矩阵的最佳格式。
有什么建议吗?
//编辑此代码中的问题是图像不显示。我认为我所做的转换是错误的:
byte[] byteArray = new byte[SIZE];
int k = 0;
for(...i) {
for(...j) {
byteArray[k] = Double.valueOf(matrix[i][j]).byteValue();
k++;
}
}
var 矩阵是 double[][] ,它代表灰度图像。使用 Double 类的 byteValue 方法将每个像素转换为字节。
我认为这是错误的,因为我使用的格式(ARGB_8888 或 RGB_565)每个像素需要一个以上的字节。
所以,我不知道如何转换它