draw~系的方法只是描画图形的线条,而fill~系的方法则把图形涂满。
2.6. 显示图像
下面的程序就变的稍微有点长了。试试做一做图像的显示,
图像是指照片之类的么?
是的,那就先来显示尼克的图像吧。N820可以显示PNG形式的图像。首先,要准备 PNG形式的文件。
image object??
关于object,反正以后还要学习object指向,到时再说明吧。在这里,请把它当作程 序里读取图像文件的数据。image object的制作方法如下所示。
Image image = Image.createImage(\图像文件的路径\
好的。
下面制作表示图像文件的image object。
此时若设定了错误的图像文件路径,就会出现error。在Java里为避免此类error,。也就是定义了例外error发生时的处理。 准备了“例外处理” 1 2 3 4 5 6 7 8 9 10 11
try{ }
使用例外处理读取图像的程序如下所示书写。此程序是在模拟器的message panel里 显示例外的内容而进行的例外处理。 1 2 3 4 5 6
Image image = null; // 指定保存图像数据的变量的宣言 try{ }
上面的语句表示在image变量里读取图像文件的数据。但是,只是读取数据还不能显 示出来。
也有显示用的命令吧。
被你猜对了,显示命令的写法如下所示。 image = Image.createImage(\图像文件的路径\e.printStackTrace(); // 显示例外的内容 }catch(Exception e){ 例外发生处理; 例外发生处理; ? ? 例外发生时的处理; 例外发生时的处理; ? ? 例如,图像文件的路径错误,这样就会导致例外error的出现是吗?
是的。这时一般就会出现“图像文件的路径错误”等信息。如下所示书写例外处理。
}catch(Exception e){ g.drawImage(image, int 显示位置的x坐标, int 显示位置的y坐标, int anchor);
博士!anchor是什么东西啊?
问的好!所谓的anchor point,是指决定图像位置的基准点。定义anchor point时, 利用逻辑计算符号「|」,分别指定横方向和纵方向的常数。 横方向 Graphics.LEFT Graphics.HCENTER Graphics.RIGHT 纵方向 Graphics.TOP Graphics.BASELINE Graphics.VCENTER Graphics.BOTTOM
恩。好像有一些难啊。。。
习惯就好了。指定anchor point为「 Graphics.LEFT | Graphics.TOP」后,变成下面 所示的图。 (x,y)TOP两个指定的ancho交叉就是anchor point。
VCENTERBOTTOMLEFTHCENTERRIGHT
那么指定「 Graphics.HCENTER | Graphics.VCENTER」的情况下又是什么样子呢?
在画面的中间显示?
TOP(x,y)VCENTERBOTTOMLEFTHCENTERRIGHT
对!是这样的。让我们实际在画面中间显示尼克的图像看看。画面的尺寸为高255, 宽240。
这么说,中间的坐标是(120 , 127)啊。恩??那么图像文件放哪里好呢?
噢,是啊是啊。对于Project,把source code保存到“src”文件夹,再把“res”文 件夹创建到“src”或者保存类文件的“bin”所在的文件夹内,在其中放置图像文件。 /project top /src /bin /res
接下来在模拟器中设定放置图像文件的文件夹。点击菜单的Options->MIDlet suite...。
在这里放置图像文件

