游戏开发论坛

 找回密码
 立即注册
搜索
查看: 6157|回复: 3

[技术分享]将彩色图片变成灰度图(就是黑白效果)

[复制链接]

6

主题

7

帖子

7

积分

新手上路

Rank: 1

积分
7
发表于 2007-7-10 20:58:00 | 显示全部楼层 |阅读模式
// 得到灰度图
public static final Image grayImage(Image img){
  if(img == null){
   System.out.println("grayAlfImage");
   return null;
  }
  int imgW = img.getWidth();
  int imgH = img.getHeight();
  int[] imgRGBData = new int[imgW*imgH];
  img.getRGB(imgRGBData,0,imgW,0,0,imgW,imgH);
  int ALF = 0;
  int R = 0;
  int G = 0;
  int B = 0;
  int GRAY = 0;
  for(int i=0;i<imgRGBData.length;i++){
   ALF = (imgRGBData >> 24) & 0xFF;
   R = (imgRGBData >> 16) & 0xFF;
   G = (imgRGBData >> 8) & 0xFF;
   B = imgRGBData & 0xFF;
   GRAY = (R*77+G*151+B*28 + 128)>>8;
   imgRGBData = (ALF<<24)|(GRAY<<16)|(GRAY<<8)|GRAY;
  }
  return Image.createRGBImage(imgRGBData,imgW,imgH,true);
}

另外打个广告:欢迎加入J2ME专业技术群42800413,新手达人不限,因为本人以帮助新人解决疑难和与高手探讨技术为生活乐趣!

2

主题

15

帖子

20

积分

注册会员

Rank: 2

积分
20
发表于 2017-1-8 13:07:33 | 显示全部楼层
如果能直接渲染成灰度的表现形式会更方便,我也不知道方法,正在求!

6

主题

208

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2017-1-13 09:17:08 | 显示全部楼层

6

主题

208

帖子

817

积分

高级会员

Rank: 4

积分
817
发表于 2017-1-13 09:17:39 | 显示全部楼层
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-2-25 02:24

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表