仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 572|回复: 14
打印 上一主题 下一主题

[学习教程] 发布一篇在J2ME中完成图片的翻转效果

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-18 11:13:51 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
C++编译的是本地码,优点是启动快,而且可以精确控制资源因此可以开发很高效的程序.缺点是编程麻烦,而且容易留下安全隐患.跨平台靠源代码在各个平台间分别编译(一处编写到处编译)
图像的反转实在就是依照必定的纪律,将图片中的每一个像素点举行从头的分列。反转是举行像素点从头分列中复杂的一种。程度反转的道理就是把图片中的每列都举行处置,而垂直反转则是关于图片中的每行举行从头的处置,上面是一个复杂的示例代码。个中将反转的功效封装成了详细的办法,详细代码以下:
/*
*TestMIDlet.java
*
*/
packageimageconvert;
importjavax.microedition.midlet.*;
importjavax.microedition.lcdui.*;
/**
*
*@authorAdministrator
*@version
*/
publicclassTestMIDletextendsMIDlet{
privateDisplaydisplay=null;
privateImageConvertCanvascanvas=null;
publicvoidstartApp(){
display=Display.getDisplay(this);
canvas=newImageConvertCanvas();
display.setCurrent(canvas);
}
publicvoidpauseApp(){
}
publicvoiddestroyApp(booleanunconditional){
}
}
packageimageconvert;
importjavax.microedition.lcdui.*;
/**
*
*完成图片的程度和垂直反传,即对称变更
*@version1.0
*
*/
publicclassImageConvertCanvasextendsCanvas{
/**图片对象*/
privateImageimg=null;
publicImageConvertCanvas(){
//导进图片
try{
img=Image.createImage("/leaf.png");
}catch(Exceptione){}
}
protectedvoidpaint(Graphicsg){
intcolor=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);
}
/**
*
*程度反转,即摆布对称
*
*@paramgGraphics画笔
*
*@paramimgImage图片
*
*@paramxint图片左上角的x坐标
*
*@paramyint图片左上角的y坐标
*
*/
privatevoidhConvert(Graphicsg,Imageimg,intx,inty){
if(img==null){
return;
}
//取得图片巨细
intw=img.getWidth();
inth=img.getHeight();
//绘制
for(inti=0;i<w;i++){
//设置切割地区是1列
g.setClip(x+i,y,1,h);
//绘制图片
g.drawImage(img,x-w+2*i,y,Graphics.LEFT|Graphics.TOP);
}
}
/**
*
*垂直反转,即高低对称
*
*@paramgGraphics画笔
*
*@paramimgImage图片
*
*@paramxint图片左上角的x坐标
*
*@paramyint图片左上角的y坐标
*
*/
privatevoidvConvert(Graphicsg,Imageimg,intx,inty){
if(img==null){
return;
}
//取得图片巨细
intw=img.getWidth();
inth=img.getHeight();
//绘制
for(inti=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和图片演示。

先说优点,首先和C,C++这些语言比起来,java很简单,去掉指针的java,非常好理解,自动垃圾回收机制也很好,自从JDK1.5推出以后,性能上又有了很大提高。
飘灵儿 该用户已被删除
沙发
发表于 2015-1-20 17:52:28 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
分手快乐 该用户已被删除
板凳
发表于 2015-1-24 05:56:09 | 只看该作者
Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket、ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。
兰色精灵 该用户已被删除
地板
发表于 2015-1-31 07:54:24 | 只看该作者
你现在最缺的是实际的工作经验,而不是书本上那些凭空想出来的程序。
飘飘悠悠 该用户已被删除
5#
发表于 2015-2-2 22:01:47 | 只看该作者
学Java必读的两个开源程序就是Jive和Pet Store.。 Jive是国外一个非常著名的BBS程序,完全开放源码。论坛的设计采用了很多先进的技术,如Cache、用户认证、Filter、XML等,而且论坛完全屏蔽了对数据库的访问,可以很轻易的在不同数据库中移植。论坛还有方便的安装和管理程序,这是我们平时编程时容易忽略的一部份(中国程序员一般只注重编程的技术含量,却完全不考虑用户的感受,这就是我们与国外软件的差距所在)。
愤怒的大鸟 该用户已被删除
6#
发表于 2015-2-4 19:14:58 | 只看该作者
让你能够真正掌握接口或抽象类的应用,从而在原来的Java语言基础上跃进一步,更重要的是,设计模式反复向你强调一个宗旨:要让你的程序尽可能的可重用。
若天明 该用户已被删除
7#
发表于 2015-2-8 17:26:13 | 只看该作者
象、泛型编程的特性,广泛应用于企业级Web应用开发和移动应用开发。
简单生活 该用户已被删除
8#
发表于 2015-2-25 21:39:00 | 只看该作者
所以现在应用最广泛又最好学的就是J2EE了。 J2EE又包括许多组件,如Jsp,Servlet,JavaBean,EJB,JDBC,JavaMail等。要学习起来可不是一两天的事。那么又该如何学习J2EE呢?当然Java语法得先看一看的,I/O包,Util包,Lang包你都熟悉了吗?然后再从JSP学起。
莫相离 该用户已被删除
9#
发表于 2015-2-27 21:36:50 | 只看该作者
《JAVA语言程序设计》或《JAVA从入门到精通》这两本书开始学,等你编程有感觉的时候也可以回看一下。《JAVA读书笔记》这本书,因为讲的代码很多,也很容易看懂,涉及到面也到位。是你学习技术巩固的好书,学完后就看看《JAVA编程思想》这本书,找找一个自己写的代码跟书上的代码有什么不一样。
冷月葬花魂 该用户已被删除
10#
发表于 2015-3-1 07:45:38 | 只看该作者
是一种语言,用以产生「小应用程序(Applet(s))
活着的死人 该用户已被删除
11#
发表于 2015-3-6 16:10:35 | 只看该作者
关于设计模式的资料,还是向大家推荐banq的网站 [url]http://www.jdon.com/[/url],他把GOF的23种模式以通俗易懂的方式诠释出来,纯Java描述,真是经典中的经典。
金色的骷髅 该用户已被删除
12#
发表于 2015-3-7 15:55:45 | 只看该作者
你就该学一学Servlet了。Servlet就是服务器端小程序,他负责生成发送给客户端的HTML文件。JSP在执行时,也是先转换成Servlet再运行的。虽说JSP理论上可以完全取代Servlet,这也是SUN推出JSP的本意,可是Servlet用来控制流程跳转还是挺方便的,也令程序更清晰。接下来你应该学习一下Javabean了,可能你早就看不管JSP在HTML中嵌Java代码的混乱方式了,这种方式跟ASP又有什么区别呢?
第二个灵魂 该用户已被删除
13#
发表于 2015-3-8 14:40:20 | 只看该作者
其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。
柔情似水 该用户已被删除
14#
发表于 2015-3-16 02:09:23 | 只看该作者
是一种使网页(Web Page)由静态(Static)转变为动态(Dynamic)的语言
若相依 该用户已被删除
15#
发表于 2015-3-22 18:35:19 | 只看该作者
是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 22:12

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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