`

在J2ME中实现图片的反转效果(包括垂直和水平)

阅读更多

J2ME中实现图片的反转效果(包括垂直和水平)

作者:陈跃峰

出自:http://blog.csdn.net/mailbomb

J2ME编程中,为了最大限度的节约空间,有些时候需要自己来实现图形的反转,这里简单介绍一下实现图形反转的一些技巧。

图象的反转其实就是按照一定的规律,将图片中的每个像素点进行重新的排列。反转是进行像素点重新排列中简单的一种。

水平反转的原理就是把图片中的每一列都进行处理,而垂直反转则是对于图片中的每行进行重新的处理,下面是一个简单的示例代码。其中将反转的功能封装成了具体的方法,具体代码如下:

package imageconvert;

import javax.microedition.lcdui.*;

/**

* 实现图片的水平和垂直反传,即对称变换

*

* @author 陈跃峰

* email:cqucyf@gmail.com

* @version 1.0

*/

public class ImageConvertCanvas extends Canvas {

/**图片对象*/

private Image img = null;

public ImageConvertCanvas() {

//导入图片

try{

img = Image.createImage("/res/pic/test.png");

}catch(Exception e){}

}

protected void paint(Graphics g) {

//绘制正常的图片

g.drawImage(img,30,40,Graphics.LEFT | Graphics.TOP);

//绘制水平反转的图片

hConvert(g,img,30,60);

//绘制垂直反转的图片

vConvert(g,img,30,80);

}

/**

* 水平反转,即左右对称

* @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);

}

}

}

说明:未经允许,严禁转载!

分享到:
评论

相关推荐

    图片分类 J2ME中的图片处理

    图片在J2me中的应用。” 【标签】:“图片处理” “J2ME” “png” 在Java的移动开发领域,J2ME(Java 2 Micro Edition)是用于创建小型设备和嵌入式系统的平台。在J2ME应用中,图片处理是一项重要的功能,涉及到...

    j2me 实现ps的效果的代码 图片混合技术

    在本文中,我们将深入探讨如何使用Java 2 Micro Edition (J2ME) 实现类似Adobe Photoshop (PS)的图片处理效果,特别是在图片混合技术方面。J2ME是一种轻量级的Java平台,常用于开发移动设备上的应用程序。通过熟练...

    j2me半透明图片实现

    在J2ME(Java 2 Micro Edition)平台上,开发移动应用程序时,有时我们需要处理图片,包括显示、缩放以及实现半透明效果。本篇将详细解释如何在J2ME中实现半透明图片以及图片的缩放功能。 首先,让我们探讨如何实现...

    java j2me上的图片抖动效果 特效

    这种特效可以通过编程实现,让图片在屏幕上以一种不规则的方式移动,营造出一种动态的视觉效果。 实现图片抖动特效的关键在于对图片的位置进行动态调整。在Java J2ME中,我们通常会使用GIF89a或者PNG格式的图像资源...

    J2me中任意角度图片旋转

    本文将深入探讨如何在J2ME中实现这一功能,包括解决旋转过程中的关键问题和优化算法。 首先,我们需要了解基本的旋转算法。点的旋转是一个基础概念,当点P(x, y)绕原点旋转t角度,得到的新坐标P'(x', y')可以通过...

    j2me 图片处理特效

    在IT行业中,J2ME(Java 2 Micro Edition)是一种专门用于开发移动设备和嵌入式系统的Java平台。它提供了一套精简的Java API,使得开发者能够在资源有限的设备上实现各种应用程序,包括游戏、多媒体应用等。在这个...

    J2ME 画布实现中文输入

    在Java Micro Edition (J2ME) 平台上开发移动应用时,由于资源限制,往往需要进行一些巧妙的设计来实现特定...在提供的压缩包文件"中文画布打字"中,可能包含了实现这一功能的源代码和资源文件,供开发者参考和学习。

    J2ME插值算法实现图片的放大缩小方法

    在Java Micro Edition (J2ME) 平台上处理图像时,有时我们需要对图片进行...通过阅读提供的文档《J2ME插值算法实现图片的放大缩小方法.doc》,你可以找到详细的代码示例和实现细节,帮助你在实际项目中应用这些知识。

    在J2ME程序里反转颜色显示图像

    本文将详细介绍如何在J2ME程序中实现图像的颜色反转功能。 #### 实现原理 颜色反转是指将图像中的颜色进行180度反转,即将红、绿、蓝三通道的颜色值分别与最大值(通常是255)相减。这样可以创建出一种“负片”...

    j2me中星星图片的各种处理

    创建一个`Sprite`对象,设置其初始位置和图片,然后在`paint`方法中更新`Sprite`的位置和状态,以实现星星图片的动态展示。`Sprite`的使用大大简化了图形处理的复杂性,使得在有限的资源下也能实现丰富的动画效果。 ...

    j2me 手机游戏图片编辑器

    至于提供的"图片编辑器.exe"文件,这可能是该J2ME图片编辑器的桌面版本,用于在电脑上进行测试和开发,或者它是一个模拟器,让用户能在非J2ME设备上预览编辑效果。无论哪种情况,这个.exe文件对于理解J2ME图片编辑器...

    J2ME中文输入Demo

    在J2ME中,开发人员需要处理资源有限的环境,因此,提供中文输入功能是一个挑战,因为这需要在小型设备上实现复杂的字符编码和输入法。 本"J2ME中文输入Demo"旨在为开发者展示如何在J2ME环境中实现基本的中文输入...

    j2me图片特效包及demo程序

    在这个"j2me图片特效包及demo程序"中,我们主要关注的是如何在 J2ME 应用程序中处理和操作图像,实现各种视觉效果。下面我们将详细探讨这些知识点: 1. **图片加载**:在 J2ME 中,通常使用 ` javax.microedition....

    j2me实现3D效果

    文件“065-066 J2ME3D编程.ppt”很可能包含关于这些主题的详细讲解,包括实例代码和演示,这对于深入理解J2ME中的3D编程至关重要。学习这些内容将帮助开发者克服J2ME平台上的3D图形挑战,创造出引人入胜的移动游戏和...

    J2ME 实现mp3 歌词滚动效果源码

    在移动设备上实现多媒体功能是Java ME(J2ME)平台的一个重要应用领域,特别是对于音乐播放,歌词滚动效果能够极大地提升用户体验。本项目提供的源码着重展示了如何在J2ME环境中实现MP3歌曲的歌词同步滚动显示。下面...

    J2ME中png图片处理压缩

    综上所述,J2ME中的PNG图片处理主要包括加载、显示、缩放和基本操作。由于资源限制,我们需要采取各种策略来优化内存使用和提高性能。虽然J2ME本身对PNG的压缩支持有限,但可以通过其他手段如预压缩和适当的设计决策...

    j2me中改变图片大小

    下面我们将深入探讨如何在J2ME中实现图片大小的调整。 首先,J2ME中的图像通常以`Image`对象的形式存在,我们可以使用` javax.microedition.lcdui.Image` 类来操作它们。由于J2ME的资源限制,直接对大图片进行操作...

    J2ME实现画图程序

    在这个J2ME实现的画图程序中,我们主要关注的是如何在移动设备上利用Java Micro Edition(J2ME)框架创建一个简单的画图应用。J2ME是Java平台的一个子集,专门用于嵌入式设备,如手机和PDA。在这个程序中,核心功能...

Global site tag (gtag.js) - Google Analytics