Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在ImageView中以int数组[]的形式显示图像_Android_Arrays_Android Imageview - Fatal编程技术网

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。