`
Teok
  • 浏览: 150684 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MIDlet API 2.0学习之:javax.microedition.lcdui.Graphics

    博客分类:
  • J2ME
 
阅读更多
Graphics
提供简单2D几何渲染功能。

Clipping

clip是在graphic对象目的区域中的像素集合,可以被graphic渲染操作改变。

每个Graphic对象都会有一个专门的clip。通过Graphic操作只能改变在clip以内的像素。clip以外的所有像素不会被任何Graphic操作改变。

clip通过用一个矩形来指定。应用应该用当前系统坐标系统的坐标来指定自己的clip。

把一个矩形指定为0宽高或者负的宽高也是合法的。这种情况下clip被认为是空的,就是说它内部不包含任何像素。因此,任何对这样一个clip的Graphic操作都不会使得任何像素被改变。

把一个clip指定地比目标区域大也是可以的。在超出目标区域的部分,不存在任何像素,在clip中但是超出目标区域的那部分就会被忽略。只有既在clip又包含在目标区域内的像素才有可能被Graphic操作锁改变。

在坐标系统中,像translate()这样的操作,不会改变clip。getClipX(), getClipY(), getClipWidth()和getClipHeight()方法返回一个通过setClip(如果调用过该方法)设置过的clip矩形。只有在将Graphic对象的目标区域边界和clip矩形贯穿起来之后,才可以用类似getclip方法来获取clip矩形。

如果一个Graphic操作受clip的影响,那么这个操作所涉及到的像素应该就是那些clip没有影响操作的那些像素。例如,考虑一个clip通过rectangle (cx, cy, cw, ch)来表示,并且一个点point (x1, y1)位于该矩形外部,另外一个点point (x2, y2)位于矩形内部。在如下代码片段中:
    g.setClip(0, 0, canvas.getWidth(), canvas.getHeight());
    g.drawLine(x1, y1, x2, y2); // 3
    g.setClip(cx, cy, cw, ch);
    g.drawLine(x1, y1, x2, y2); // 4 


语句4和3涉及到的像素应该是一样的。
分享到:
评论

相关推荐

    javax.microedition.jar

    文件结构 javax/microedition/io/ javax/microedition/lcdui/ javax/microedition/midlet/ javax/microedition/rms/

    javax.microedition.lcdui

    【javax.microedition.lcdui】是Java ME(Micro Edition)平台的一个重要组成部分,主要用于开发在小型设备和嵌入式系统上的用户界面,如移动电话、PDA等。这个库提供了一系列类和接口,使开发者能够创建具有图形...

    JavaME+API

    javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms 可以一个不下,就是不能自贬身价,...

    MIDP API JavaME的核心API

    javaME的核心API , ...javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms

    J2ME分别显示四个图像

    import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; public class myclass extends Canvas { private Image[] img; private int dir; public myclass() { img=new Image[4]...

    J2ME API速查手册

    3. **用户界面**:`javax.microedition.lcdui`提供了轻量级用户界面组件,如`Display`、`Form`、`ChoiceGroup`和`TextBox`,用于创建简单的交互式界面。 4. **网络通信**:`javax.microedition.io`提供了连接框架,...

    笔试系统(二级C语言)

    import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; import javax.microedition.io.*; public class Message extends MIDlet implements CommandListener { ...

    j2me rms 通讯录

    import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public ...

    Java ME Hello World

    import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; public class HelloWorld extends MIDlet { private Display display; public HelloWorld() { display = Display....

    非常不错的适于初学者的J2ME讲义

    - **Javax.microedition.lcdui.game**:游戏API。 - **Javax.microedition.media**:多媒体支持。 - **Javax.microedition.media.control**:多媒体控制接口。 - **Javax.microedition.pki**:数字签名支持。 #####...

    J2ME制作简单的界面

    import javax.microedition.lcdui.Graphics; import javax.microedition.lcdui.Image; public class face extends Canvas { private final int UP=-1; private final int DOWN=-2; private final int LEFT=-3; ...

    javajishujishu

    import javax.microedition.lcdui.ChoiceGroup; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Form; import javax.microedition.lcdui....

    j2me复习要点,十分详细

    MIDP定义了一系列包,包括javax.microedition.midlet、javax.microedition.lcdui、javax.microedition.lcdui.game、javax.microedition.rms、javax.microedition.media和javax.microedition.media.control,这些包...

    运行java程序时看短信教程

    import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.lcdui.Form; import javax.microedition....

    MIDP_2_0_Signed_MIDlet_Developers_Guide(2.0版本)

    MIDlet-Package-Permissions: javax.microedition.io, javax.microedition.io.file, javax.microedition.lcdui ``` #### 签名MIDlet 签名过程涉及生成密钥对、创建签名证书以及使用工具(如`jarsigner`)对MIDlet...

    android视频

    import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Image; import javax.microedition.lcdui.game.GameCanvas; import javax.microedition.lcdui.game.LayerManager; import javax....

    java源码:蜀山剑侠传游戏J2ME手机版源代码.rar

    对于游戏中的动画,J2ME提供了基本的定时器API,如`javax.microedition.lcdui.Timer` 和 `javax.microedition.lcdui.TimerTask`,开发者可以使用它们来控制帧率和执行周期性任务。动画通常通过改变图像的位置或状态...

    SonyEricsson MIDP 文档api

    javax.microedition.media包提供了媒体管理,而javax.microedition.lcdui.game包则包含了游戏相关的类和接口,如GameCanvas和Gauge。 三、开发实践 开发Sony Ericsson MIDP应用程序时,开发者首先需要创建一个...

    j2me猜拳源代码,游戏程序

    这里导入了J2ME开发所需的多个包,如`java.util.Random`用于随机数生成,`javax.microedition.lcdui.*`提供图形用户界面相关的类,`javax.microedition.midlet.MIDlet`则是MIDlet(Mobile Information Device ...

    J2ME学习之环境搭建

    import javax.microedition.lcdui.Display; import javax.microedition.lcdui.TextBox; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public class ...

Global site tag (gtag.js) - Google Analytics