繁体   English   中英

如何将图像转换为二维数组

[英]How to convert image to 2D array

我编写了从图库中获取图像的代码。 现在我想添加更多功能,例如将这些图像转换为 2D 数组以获取像素细节。
我怎样才能做到这一点?

… {
    …
    Picture1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ChangeImage();
        }
    });
    Picture2.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            ChangeImage();
        }
    });
}

private void ChangeImage() {
    AlertDialog.Builder builder = new AlertDialog.Builder(this);
    LayoutInflater inflater = getLayoutInflater();
    View dialogview = inflater.inflate(R.layout.alertdialogpicturechoose, null);
    builder.setCancelable(false);
    builder.setView(dialogview);

    ImageView imageformgallery = dialogview.findViewById(R.id.imgGallery);
    final AlertDialog alertDialogpic = builder.create();
    alertDialogpic.show();

    imageformgallery.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            TakeImageFromGallery();
            alertDialogpic.cancel();
        }
    });
}

如果您有 ImageView,您可以将其转换为 Bitmap,然后使用 Bitmap 的方法访问像素信息:

val bitmap = imageformgallery.drawable.toBitmap()
bitmap.getPixel(1, 1)

您还可以使用 getPixels() 将所有像素放入一维数组中:

val pixels = IntArray(bitmap.width * bitmap.height)
bitmap.getPixels(pixels, 0, 0, 0, 0, bitmap.width, bitmap.height)

对不起,这个例子是在 Kotlin 中的,不知道你为什么还要使用 Java。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM