当前位置: 首页 > article >正文

MIDP2.0中对图片象素级处理(2)

 上次我们说到了怎么把一个图片处理成一个半透明的效果,下面是一个图片从透明到不透明的的变化效果

import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;


/**
 * @author 刘军
 * @version 1.0
 */
public class TCanvas extends Canvas implements Runnable{
 Image image;//要处理的图片
 int argb[];
 int a= 0;//把象素的透明度初始值设置为0,然后在线程中不断地增加这个值
 public TCanvas() {
  super();
  try {
   image = Image.createImage("/test.png");//导入图片
  } catch (IOException e) {
   e.printStackTrace();
  }
  argb = new int[image.getWidth()*image.getHeight()];
  image.getRGB(argb,0,image.getWidth(),0,0,image.getWidth(),image.getHeight());//获得图片的ARGB值
  int temp;
  
  for(int i=0;i<argb.length;i++)
  {
   argb[i]=(a<<24) | (argb[i] & 0x00FFFFFF);// 修改最高2位的值
  }
  Thread t = new Thread(this);
  t.start();
 }

 protected void paint(Graphics g) {
  g.setColor(0xffffff);
  g.fillRect(0,0,getWidth(),getHeight());
  g.setColor(0);
  g.drawImage(image,0,0,Graphics.TOP|Graphics.LEFT);
  g.drawRGB(argb,0,image.getWidth(),0,100,image.getWidth(),image.getHeight(),true);// 画象素数组
  g.drawString(a+"",10,90,Graphics.TOP|Graphics.LEFT);
 }
 public void run()
 {
  while(a<256)
  {
   //改变象素内容
   for(int i=0;i<argb.length;i++)
   {
    argb[i]=(a<<24) | (argb[i] & 0x00FFFFFF);// 修改最高2位的值
   }
   repaint();//重绘屏幕
   a++;
   try {
    Thread.sleep(100);
   } catch (InterruptedException e) {
    e.printStackTrace();
   }
  }
 }
}

http://www.lryc.cn/news/2415599.html

相关文章:

  • 80个让你笑爆肚皮的程序员段子,不好笑算我输!
  • c/c++高质量编程
  • iOS开发笔记之五——Xcode 6.0 Beta编译工程时可能遇到的问题及参考解决方案
  • A 驾驶员辅助系统开发的基础2
  • LCD液晶显示屏工作原理
  • 冯·诺伊曼结构(英語:),也称馮·紐曼模型(Von Neumann model),是一种将程序指令存储器和数据存储器合并在一起的電腦設計概念结构。
  • Adobe Dreamweaver所有版本的序列号
  • 机架服务器 远程电源管理 备忘
  • 史上最详细SharePoint 2010安装步骤图解新手教程
  • Android 学习指南
  • Windows Media Player Real Player ActiveX 属性及方法
  • Computer Graphics From Scratch - Chapter 5
  • 新的UnityAnswers社区站点
  • 13个免费资源网站,你想要的全都有!【各类宝藏资源,建议收藏】
  • wordpress友联_一段代码开启WordPress友情链接管理
  • TM2008 Preview体验
  • 初学者一定要看!Perl 语言入门学习
  • web服务IIS服务器搭建
  • 度量空间
  • Eclipse 3.4+MyEclipse 6.01+MyEclipse 6.5+MyEclipse 6.01注册机+Eclipse汉化包官方下载地址
  • Python之Pandas中Series、DataFrame实践
  • OpenCV学习笔记(二):读取mnist数据集
  • 个人DIY一套全智能机器人基本流程
  • kindeditor在php中的使用,PHP中使用kindeditor
  • 微信小程序实现简单的树形选择控件------treeSelect
  • 干啥啥不行,摸鱼第一名
  • Dell BIOS/CMOS设置诠释
  • 干货分享新华三、华为、思科认证,到底选择哪一个?
  • 程序员常见系统错误代码大全:1到15841
  • echarts中国旅客迁徙地图