gpt4 book ai didi

安卓 : Converting color image to grayscale

转载 作者:IT老高 更新时间:2023-10-28 21:53:19 24 4
gpt4 key购买 nike

我正在尝试使用红色、绿色、蓝色的平均值将彩色图像转换为灰度。但它会出现错误。

这是我的代码

imgWidth = myBitmap.getWidth();
imgHeight = myBitmap.getHeight();

for(int i =0;i<imgWidth;i++) {
for(int j=0;j<imgHeight;j++) {
int s = myBitmap.getPixel(i, j)/3;
myBitmap.setPixel(i, j, s);
}
}

ImageView img = (ImageView)findViewById(R.id.image1);
img.setImageBitmap(myBitmap);

但是当我在模拟器上运行我的应用程序时,它会强制关闭。有什么想法吗?

我已经使用以下代码解决了我的问题:

for(int x = 0; x < width; ++x) {
for(int y = 0; y < height; ++y) {
// get one pixel color
pixel = src.getPixel(x, y);
// retrieve color of all channels
A = Color.alpha(pixel);
R = Color.red(pixel);
G = Color.green(pixel);
B = Color.blue(pixel);
// take conversion up to one single value
R = G = B = (int)(0.299 * R + 0.587 * G + 0.114 * B);
// set new pixel color to output bitmap
bmOut.setPixel(x, y, Color.argb(A, R, G, B));
}
}

最佳答案

你也可以这样做:

    ColorMatrix matrix = new ColorMatrix();
matrix.setSaturation(0);
imageview.setColorFilter(new ColorMatrixColorFilter(matrix));

关于安卓 : Converting color image to grayscale,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8381514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com