[转载]J2ME小Tip:setClip方法的使用详解

在J2ME编程中,为了降低文件的尺寸,经常把类似的小图片合并成一个文件,在程序实际绘制的时候,可以根据需要只显示该文件中的一部分图片。Graphics中的setClip方法就是实现该功能的。

  setClip方法的原理是通过只在屏幕上显示一部分内容,让图片恰好位于该部分的内容显示出来。

  setClip的方法就是在屏幕上设置这个“透视孔”,只有位于该孔中的图片内容显示出来。

  setClip的方法说明如下:

  public void setClip(int x, int y, int width, int height)

  其中:

  x——可以显示的矩形区域左上角的x坐标

  y——可以显示的举行区域左上角的y坐标

  width——矩形的宽度

  height——巨型的高度

  实际使用示例:

  g.setClip(10,20,20,30);

  g.drawImage(image,10,20,Graphics.LEFT | Graphics.TOP);

  则只显示image对象代表的图片中从开始位置,高30,宽20的部分,其余的部分都不显示。

  注意:在使用完setClip以后,需要恢复系统的默认设置,使整个屏幕都可以显示:

  g.setClip(0,0,this.getWidth(),this.getHeight());

时间: 2024-08-07 15:05:22

[转载]J2ME小Tip:setClip方法的使用详解的相关文章

小编带您Volatile的详解

volatile关键字修饰的共享变量主要有两个特点:1.保证了不同线程访问的内存可见性 2.禁止重排序在说内存可见性和有序性之前,我们有必要看一下Java的内存模型(注意和JVM内存模型的区分)为什么要有java内存模型?首先我们知道内存访问和CPU指令在执行速度上相差非常大,完全不是一个数量级,为了使得java在各个平台上运行的差距减少,哪些搞处理器的大佬就在CPU上加了各种高速缓存,来减少内存操作和CPU指令的执行速度差距.而Java在java层面又进行了一波抽象,java内存模型将内存分为

Android编程之Fragment动画加载方法源码详解

上次谈到了Fragment动画加载的异常问题,今天再聊聊它的动画加载loadAnimation的实现源代码: Animation loadAnimation(Fragment fragment, int transit, boolean enter, int transitionStyle) { 接下来具体看一下里面的源码部分,我将一部分一部分的讲解,首先是: Animation animObj = fragment.onCreateAnimation(transit, enter, fragm

【转载】lucene中Field.Index,Field.Store详解

lucene在doc.add(new Field("content",curArt.getContent(),Field.Store.NO,Field.Index.TOKENIZED)); Field有两个属性可选:存储和索引. 通过存储属性你可以控制是否对这个Field进行存储: 通过索引属性你可以控制是否对该Field进行索引. 事实上对这两个属性的正确组合很重要. Field.Index Field.Store 说明 TOKENIZED(分词) YES 被分词索引且存储 TOKE

jQuery().on方法的使用详解

从厦门回来之后,两周没写博客了,主要是没时间,先放一张在厦门的靓照 本文 原文链接 ,希望能帮到这些前端小白.用法:此方法可以在匹配元素上绑定一个或者多个事件处理函数. 使用off()方法可以删除on()方法绑定的事件. 语法结构一 1 $(selector).on(events,[selector],[data],fn) events:一个或多个用空格分隔的事件类型和可选的命名空间. selector:可选.一个选择器字符串,用以过滤选定的元素,该选择器的子元素将调用处理程序. data:可选

[转载]Linux C 字符串函数 sprintf()、snprintf() 详解

一.sprintf() 函数详解 在将各种类 型的数据构造成字符串时,sprintf 的强大功能很少会让你失望. 由于 sprintf 跟 printf 在用法上几乎一样,只是打印的目的地不同而已,前者打印到字符串中,后者则直接在命令行上输出.这也导致 sprintf 比 printf 有用得多.所以本文着重介绍 sprintf,有时也穿插着用用 pritnf. sprintf是个变参函数,定义如下: int sprintf( char *buffer, const char *format [

sort方法实际应用详解---javascript中对一个对象数组按照对象某个属性进行排序

转载: 查看原文 在javascript中,对象和数组是两种不同的类型,这和php中的数组概念不同.在javascript中,也有一些精妙的算法,用来对一些对象进行排序.我在面试迅雷的时候,也拿到一道题,当时做题的时候考虑到时间,没有去仔细研究,回来后再读了一些方法,就知道真正的考点在哪里了. 我们现在有一组"学生"对象,包含"名字,年龄"等属性,现在要求一个算法,把这些对象放在一个数组里,可以实现按照年龄对这些对象进行排序. var sdts = [ { name

HTML embed标签使用方法和属性详解

一.基本语法 代码如下: embed src=url 说明:embed可以用来插入各种多媒体,格式可以是 Midi.Wav.AIFF.AU.MP3等等,Netscape及新版的IE 都支持.url为音频或视频文件及其路径,可以是相对路径或绝对路径. 示例: 代码如下: <embed src="your.mid"> 二.属性设置 1.自动播放: 语法:autostart=true.false 说明:该属性规定音频或视频文件是否在下载完之后就自动播放. true:音乐文件在下载

【转载】 IP实时传输协议RTP/RTCP详解

http://www.chinaitlab.com/cisco/RIP/832426.html 1.简介 目前,在IP网络中实现实时语音.视频通信和应用已经成为网络应用的一个主流技术和发展方向,本文详细介绍IP协议族中用于实时语音.视频数据传输的标准协议RTP( Real-time Transport Protocol)和RTCP(RTP Control Ptotocol)的主要功能. 2.RTP/RTCP协议简介 RTP 由 IETF(www.ietf.org)定义在 RFC 3550和355

[转载] Java高新技术第一篇:类加载器详解

本文转载自: http://blog.csdn.net/jiangwei0910410003/article/details/17733153 首先来了解一下字节码和class文件的区别: 我们知道,新建一个Java对象的时候,JVM要将这个对象对应的字节码加载到内存中,这个字节码的原始信息存放在classpath(就是我们新建Java工程的bin目录下)指定的目录下的.class文件,类加载需要将.class文件导入到硬盘中,经过一些处理之后变成字节码在加载到内存中. 下面来看一下简单的例子: