`
Teok
  • 浏览: 148176 次
  • 性别: 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/

    JavaME+API

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

    J2me-listJ2me-list

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

    俄罗斯方块J2ME代码

    import javax.microedition.lcdui.Graphics; import java.util.*; //import javax.microedition.lcdui.*; //MIDlet类 public class TerrisMIDlet extends MIDlet { private Display display; private GameCanvas ...

    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]...

    笔试系统(二级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 ...

    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....

    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....

    手机游戏,子棋游戏手机的象棋游戏

     import Javax.microedition.lcdui.Display;  import javax.microedition.midlet.MIDlet;  public class Game extends MIDlet {  GameCanvas game;//定义游戏界面的Canvas类GameCanvas的对象gobang  public ...

    Java版电子宠物游戏代码

    import javax.microedition.lcdui.*; public class Petgame extends MIDlet { private static Petgame instance; private PlayCanvas displayable = new PlayCanvas (); /** Constructor */ public Petgame ...

    手机游戏--五子棋算法

    自己写的一个很简单的五子棋算法,请大家指教哈 ...import javax.microedition.lcdui.Display; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException;

    j2me手机数据库 手机应用程序

    import javax.microedition.lcdui.*; import javax.microedition.rms.*; import java.io.*; import java.util.*; //公司员工类 public class recordData2 extends MIDlet implements CommandListener { ...

    《J2ME嵌入式开发案例精解》-源码

    import javax.microedition.lcdui.*; public class GIFMIDlet extends MIDlet implements CommandListener { private Display display; private Command exitCommand;//退出程序按钮 private Command playCommand...

    探索J2ME:构建开销追踪系统

    我们首先从J2ME GUI基础编程开始( javax.microedition.lcdui类),然后讨论数据存储和无线连接方面的问题。通过这一系列的文章,我会为读者提供一个示范性的Expenses MIDlet程序,这个小软件的主要作用是帮助用户在...

    Message.java

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

    wam 的 分析 设计代码

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

    J2ME移动开发环境配置教程

    import javax.microedition.lcdui.*; public class Hello extends MIDlet { private Display display; public Hello() { display = Display.getDisplay(this); } public void startApp() { Form f = ...

Global site tag (gtag.js) - Google Analytics