Android从RGB 2D数组创建位图

希瑟姆·加鲁特

我正在开发一个android水印项目,我需要一种方法来为R,G和B生成2D数组,并在从其他人完成的WM方法取回图像后重新创建图像。(有这种方法,所以我无法更改)。

这是我从位图创建R,G,B的方法:

Bitmap image = BitmapFactory.decodeFile("/sdcard/Watermarking/WM_20151208_183746_1282108897-1.jpg");
int height = image.getHeight();
int width = image.getWidth();
short [][] red = new short[height][width];
short [][] green = new short[height][width];
short [][] blue = new short[height][width];
int column = 0;
int row = 0;
while(row < height)
{
    while(column < width)
    {
        int pixel = image.getPixel(column, row);
        red[row][column] = (short) Color.red(pixel);
        green[row][column] = (short) Color.green(pixel);
        blue[row][column] = (short) Color.blue(pixel);
        column++;
    }
    row++;
}
displayImage(red, green, blue);

这是我用来测试自己所做的正确性的方法:

public void displayImage(short [][] red, short [][] green, short [][] blue)
{
    short height = (short) red.length;
    short width = (short) red[0].length;
    Bitmap image = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
    int column = 0;
    int row = 0;
    while(row < height)
    {
        while(column < width)
        {
            image.setPixel(column, row, Color.rgb(red[row][column], green[row][column], blue[row][column]));
            column++;
        }
        row++;
    }

    ImageView imageView = (ImageView) findViewById(R.id.imageView);
    imageView.setImageBitmap (image);
}

出现的图像是黑色图像,即使它应该是正确的。任何帮助表示赞赏。

哈桑·哈洛夫(Hassan Khallouf)

通过简单地调试代码,您无需重复设置列变量即可重复填充数组的第一行

添加:

column = 0;

在两个循环之后(填充和读取数组);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何从RGB颜色创建位图

来自分类Dev

如何在Android上获取位图的平均RGB值?

来自分类Dev

从API级别<Android 26(Oreo)的RGB值创建Color对象

来自分类Dev

在OPENCV4Android中转换RGB2HSV

来自分类Dev

如何从位图图像的RGB值获取数组?

来自分类Dev

如何从位图图像的RGB值获取数组?

来自分类Dev

在 C# 中从 RGB 数组创建位图,结果图像差异?

来自分类Dev

如何创建一个Android 2D游戏?

来自分类Dev

Android在简单的ArrayAdapter中使用2D数组

来自分类Dev

从php返回2D数组到android

来自分类Dev

如何将4d RGB图像数据转换为2d数组以进行LogisticRegression

来自分类Dev

保存位图的RGB

来自分类Dev

如何制作2D和RGB图像

来自分类Dev

从嵌套字典创建2D数组

来自分类Dev

泛型的2D数组创建

来自分类Dev

创建2D数组的Pythonic方法?

来自分类Dev

如何创建2D数组的ArrayList

来自分类Dev

从2D数组创建距离矩阵

来自分类Dev

如何动态创建2D数组?

来自分类Dev

从arraylist创建2d数组

来自分类Dev

如何在python中创建和填充2d列表。基本上试图创建一个rgb值列表

来自分类Dev

从ppm文件中读取RGB值,然后使用结构将其存储到称为“图像”的2d数组中(动态数组)

来自分类Dev

Android RGB Color API

来自分类Dev

如何在Kotlin的Android共享首选项中存储2D数组?

来自分类Dev

使用Chaquopy将Python中的PyObject转换为Android中的2D数组

来自分类Dev

在2d数组中获取SQLite DB数据并在android中返回

来自分类Dev

在Android快速查找/将2d存储为int,double [400] [400]数组

来自分类Dev

在Android中将Textviews的Arraylist转换为2D字符串数组

来自分类Dev

带位图的Java RGB操纵

Related 相关文章

热门标签

归档