JAVA setRGB使图片变白
一幅图片我先用imageio读进来,然后getRGB获得像素数组,紧接着再新建一个bufferedimage通过setRGB把像素数组写回去,为何图片改变了?大小什么的都...
一幅图片我先用imageio读进来,然后getRGB获得像素数组,紧接着再新建一个bufferedimage通过setRGB把像素数组写回去,为何图片改变了? 大小什么的都没改 下面上图
处理前:
处理后:
跪求帮助 展开
处理前:
处理后:
跪求帮助 展开
2个回答
展开全部
因为它们的ColorModel不同.判断一张图是灰度图还是彩色图最好的办法就是比对一下某一个像素的RGB是否都为同一个值.因为灰色的这3个值都是相同的而彩色不同.
可以int color = img.getRGB(x,y);//获取某个点的颜色值
int red = color>>16&255;//获取这个点的红色值
int green = color>>8&255;//获取这个点的绿色值
int blue = color&255;//获取这个点的蓝色值
if(red==green==blue)System.out.println("这是一张灰度图");
可以int color = img.getRGB(x,y);//获取某个点的颜色值
int red = color>>16&255;//获取这个点的红色值
int green = color>>8&255;//获取这个点的绿色值
int blue = color&255;//获取这个点的蓝色值
if(red==green==blue)System.out.println("这是一张灰度图");
2013-10-23
展开全部
int[]
getRGB(int startX,
int startY,
int w,
int h,
int[] rgbArray,
int offset,
int scansize)
Returns an array of integer pixels in the default RGB color model
(TYPE_INT_ARGB) and default sRGB color space,
from a portion of the image data.
应该是颜色空间不同。
getRGB(int startX,
int startY,
int w,
int h,
int[] rgbArray,
int offset,
int scansize)
Returns an array of integer pixels in the default RGB color model
(TYPE_INT_ARGB) and default sRGB color space,
from a portion of the image data.
应该是颜色空间不同。
追问
我找到问题了 处理灰度图和彩色图方法不同。。。 我想问一下如何判断一张图片是灰度图还是彩色图呢?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询