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/io/ javax/microedition/lcdui/ javax/microedition/midlet/ javax/microedition/rms/
javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms 可以一个不下,就是不能自贬身价,...
import javax.microedition.lcdui.Command; import javax.microedition.lcdui.CommandListener; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax....
import javax.microedition.lcdui.Graphics; import java.util.*; //import javax.microedition.lcdui.*; //MIDlet类 public class TerrisMIDlet extends MIDlet { private Display display; private GameCanvas ...
javaME的核心API , ...javax.microedition.lcdui.game javax.microedition.media javax.microedition.media.control javax.microedition.midlet javax.microedition.pki javax.microedition.rms
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]...
import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; import javax.microedition.io.*; public class Message extends MIDlet implements CommandListener { ...
import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Displayable; import javax.microedition.midlet.MIDlet; import javax.microedition.midlet.MIDletStateChangeException; public ...
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; ...
import javax.microedition.lcdui.ChoiceGroup; import javax.microedition.lcdui.Command; import javax.microedition.lcdui.Display; import javax.microedition.lcdui.Form; import javax.microedition.lcdui....
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 ...
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;
import javax.microedition.lcdui.*; import javax.microedition.rms.*; import java.io.*; import java.util.*; //公司员工类 public class recordData2 extends MIDlet implements CommandListener { ...
import javax.microedition.lcdui.*; public class GIFMIDlet extends MIDlet implements CommandListener { private Display display; private Command exitCommand;//退出程序按钮 private Command playCommand...
我们首先从J2ME GUI基础编程开始( javax.microedition.lcdui类),然后讨论数据存储和无线连接方面的问题。通过这一系列的文章,我会为读者提供一个示范性的Expenses MIDlet程序,这个小软件的主要作用是帮助用户在...
import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; import javax.microedition.io.*; public class Message extends MIDlet implements CommandListener { ...
import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import java.io.IOException; public class MyCBSReceiveMidlet extends MIDlet implements CommandListener, Runnable, Message...
import javax.microedition.lcdui.*; public class Hello extends MIDlet { private Display display; public Hello() { display = Display.getDisplay(this); } public void startApp() { Form f = ...