首页 arrow J2ME开发 arrow 程序设计 arrow 创建透明内存图片(可变Image)的方法
创建透明内存图片(可变Image)的方法
Author Author: Wupei | Date Date: 2009-11-28 | View Count View: 3324 | Section & Category J2ME开发 - 程序设计 | Digg Digg: 11
/***
 *创建透明图片方法
 * @param originalImg -- 源图象
 * @param alphaColor -- 需要透明的颜色
 * @return -- 透明后的图片对象
 */
public static Image createAlphaImage(Image originalImg, int alphaColor) {
   short w = (short) originalImg.getWidth();
   short h = (short) originalImg.getHeight();
   int[] imgData = new int[w * h];
 
   //getRGB(int[] rgbData,int offset,int scanlength,int x,int y,int width,int height)
   //方法获取象素颜色
   originalImg.getRGB(imgData, 0, w, 0, 0, w, h);
 
   /*
    * <透明处理>
    * 上面程序完成了对自定义图片的像素颜色的提取,在J2ME中的Image是这样规定的,如果这是一个
    * 不可变图片,取得的每一个像素颜色是一个int类型的值,如果其高位是00,也就是颜色为
    * 0x00RRGGBB的时候,这个像素就是完全透明的,如果是0xAARRGGBB,其中AA表示透明度,
    * 这样的颜色表示半透明,现在我们取得了自定义的可变图片的像素颜色值,接下来,我们需要
    * 创建不可变图片,并且要把白色的背景设置为完全透明的。将取得的保存在数组中的背景颜色的
    * 高位值设置为00
    */
   for (int i = 0; i < imgData.length; i++) {
      if ( (imgData[i] & alphaColor) == alphaColor) {
         imgData[i] = imgData[i] & alphaColor;
      }
   }
   return Image.createRGBImage(imgData, w, h, true);
}

更多阅读:

最近更新 ( 2009-11-29 )
 

尚无评论发表

我要发表评论

登录菜单

最新文章

本月热门

订阅本站

RSS 0.91 RSS 1.0 RSS 2.0 ATOM 0.3 OPML