图片处理(Picture Lab)活动3:探索图片
运行PictureExplorer.java中的main method。这会从文件中读取一幅海滩的图片并创建其在内存的副本,在图片探索工具里显示出来。创建副本为的是更加方便的浏览图片,不论图片本身在这个过程中是否受到任何改动。你可以使用这一工具来探索图片中的像素。单击图片的任意位置(像素),窗口里就会立即显示出行列坐标和该位置的红绿蓝颜色值。于此同时这一位置会被一个小十字所标示。你还可以使用箭头按钮或者直接输入坐标并回车来改变位置。可以使用Zoom菜单来进行缩放。

问题
- 图片最左上角的行坐标是什么?
- 图片最左上角的列坐标是什么?
- 图片的宽度是640,最右侧的列坐标是什么?
- 图片的高度是480,最底侧的行坐标是什么?
- 行坐标如何增加?
- 列坐标如何增加?
- 把缩放设为500%。你是否能看到色块?这被称作像素化(pixelation)。像素化意味着将图片放大到足够的比例,以至于不得不把单个像素以小方块的形式显示出来。
新建并探索其他图片
以下是class PictureExplorer的main method。Java的每个class都可以有自己的main method,可以用java加上class名来执行它。
public static void main(String args[])
{
Picture pix = new Picture("beach.jpg");
pix.explore();
}
main method里定义了一个名为pix的Picture object,将其值指向images目录里一个名为beach.jpg的JPEG图像文件。JPEG图像文件使用国际通行的有损压缩(lossy compression)算法来储存图片。有损压缩意味着占用的空间远比原本数据要小,但是会舍去一些一般情况下可以被忽略的信息。
练习
- 修改
class PictureExplorer的mainmethod,新建并探索images目录里的另一幅图片。 - 将图片复制到
images目录中,使用mainmethod来探索它。如果图片过大,可以使用class Picture的scalemethod来缩小它。
例如,你可以创建一幅更小的新图片(images目录中的smallMyPicture.jpg),仅有原始图片(myPicture.jpg)的四分之一:
Picture p = new Picture("myPicture.jpg");
Picture smallP = p.scale(0.25,0.25);
smallP.write("smallMyPicture.jpg");
0 条评论