当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:12:00  来源:本站整理

在J2ME中实现图片的翻转效果[Java编程]

赞助商链接



  本文“在J2ME中实现图片的翻转效果[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

图象的反转其实就是按照一定的规律,将图片中的每个像素点举行重新的布列.反转是举行像素点重新布列中简单的一种.水平反转的原理就是把图片中的每一列都举行处理,而垂直反转则是关于图片中的每行举行重新的处理,下面是一个简单的示例代码.此中将反转的功效封装成了具体的办法,具体代码以下:

/*
* TestMIDlet.java
*
*/
package imageconvert;
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
/**
*
* @author Administrator
* @version
*/
public class TestMIDlet extends MIDlet {
private Display display = null;
private ImageConvertCanvas canvas = null;
public void startApp() {
display = Display.getDisplay(this);
canvas = new ImageConvertCanvas();
display.setCurrent(canvas);
}
public void pauseApp() {
}
public void destroyApp(boolean unconditional) {
}
}
package imageconvert;
import javax.microedition.lcdui.*;
/**
*
* 实现图片的水暖和垂直反传,即对称变更
* @version 1.0
*
*/
public class ImageConvertCanvas extends Canvas {
/**图片对象*/
private Image img = null;
public ImageConvertCanvas() {
//导入图片
try{
img = Image.createImage("/leaf.png");
}catch(Exception e){}
}
protected void paint(Graphics g) {
int color = g.getColor();
g.setColor(0xFFFFFF);
g.fillRect(0,0, getWidth(),getHeight());
g.setColor(color);
//绘制正常的图片
g.drawImage(img,0,0,Graphics.LEFT | Graphics.TOP);
//绘制水平反转的图片
hConvert(g,img,0,img.getHeight()+5);
//绘制垂直反转的图片
vConvert(g,img,0,img.getHeight()*2+10);
}
/**
*
* 水平反转,即左右对称
*
* @param g Graphics 画笔
*
* @param img Image 图片
*
* @param x int 图片左上角的x坐标
*
* @param y int 图片左上角的y坐标
*
*/
private void hConvert(Graphics g,Image img,int x,int y){
if(img == null){
return;
}
//得到图片大小
int w = img.getWidth();
int h = img.getHeight();
//绘制
for(int i = 0;i < w;i++){
//设置切割区域是1列
g.setClip(x + i,y,1,h);
//绘制图片
g.drawImage(img,x - w + 2 * i,y,Graphics.LEFT | Graphics.TOP);
}
}
/**
*
* 垂直反转,即上下对称
*
* @param g Graphics 画笔
*
* @param img Image 图片
*
* @param x int 图片左上角的x坐标
*
* @param y int 图片左上角的y坐标
*
*/
private void vConvert(Graphics g,Image img,int x,int y){
if(img == null){
return;
}
//得到图片大小
int w = img.getWidth();
int h = img.getHeight();
//绘制
for(int i = 0;i < h;i++){
//设置切割区域是1行
g.setClip(x,y + i,w,1);
//绘制图片
g.drawImage(img,x,y - h + 2 * i,Graphics.LEFT | Graphics.TOP);
}
}
}

运行效果以下所示:

注:本文主要内容中摘自陈跃峰的blog,本人对画图代码举行了简单改正.并供应了MIDlet和图片演示.


  以上是“在J2ME中实现图片的翻转效果[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 在J2ME/MIDP中实现图象旋转
  • 在J2ME手机程序开辟中操纵颜色
  • 在J2ME开辟中解析XML
  • <b>办理在J2ME平台上的手机游戏移植的问题</b>
  • <b>在J2ME编程中操纵Nokia的中文模拟器</b>
  • 在J2ME中模拟浮点运算
  • 在J2ME手机编程中操纵字体和颜色
  • 在J2ME中实现图片的翻转效果
  • 在J2ME和WAP中实现电话呼唤功效
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .