Android 在ImageView中以int数组[]的形式显示图像
如何以Android 在ImageView中以int数组[]的形式显示图像,android,arrays,android-imageview,Android,Arrays,Android Imageview,如何以int[]格式显示图像,例如: int[] UM = {1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1}; 这是我的密码: public class MainActivity extends Activity { private ImageView imageTeste; private Bitmap bitmap; @Overr
int[]格式显示图像,例如:
int[] UM = {1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1};
这是我的密码:
public class MainActivity extends Activity {
private ImageView imageTeste;
private Bitmap bitmap;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int[] UM = {1,1,0,0,1,1,0,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1,1,1,0,0,1};
bitmap = Bitmap.createBitmap(UM, 5, 9, Bitmap.Config.RGB_565);
imageTeste = (ImageView) findViewById(R.id.imageId);
imageTeste.setImageBitmap(bitmap);
}
}
但它不会显示任何内容,只有当我将Bitmap.Config.ARGB_8888参数更改为RGB_565时,白色像素(1)才会变为黑色。即使将值(1)转换为255也不起作用,它们显示为蓝色
有人知道如何解决这个问题吗?您使用的方法是:位图创建位图(int[]颜色、int宽度、int高度、Bitmap.Config配置)
。请查看此方法的文档。提供该方法的int[]
必须是一个彩色int数组。这些不是正则整数,使用0或1表示这些值是使图像显示为空的原因
查看Android彩色文档
例如,不透明的蓝色应该是0xff0000ff
。Color INT在单个32位整数值中包含4个组件。这4个组件分别表示Alpha、红色、绿色和蓝色。在本例中,A组件为FF
表示颜色完全不透明。R分量00
,没有红色。G组件为00
,没有绿色。B部件为FF
,全部为蓝色
你只需要给createBitmap()
方法一个有效的int[]
就可以解决你的问题了。我想,你想把bytearray转换成image。