获取像素

问题描述:

,所以我已经看过这样一对夫妇的其他问题,并从图像的宽度和高度我所看到的一切答案似乎回答我的问题。我创建了一个创建ASCII艺术的程序,它基本上是一个文本图片而不是颜色。我必须手动设置像素的宽度和高度时设置程序的方式。如果像素的宽度和高度太大,它就不会工作。所以基本上我想要做的是有一个功能,自动设置的宽度和高度的图片的大小。 http://www.mediafire.com/?3nb8jfb8bhj8d是现在程序的链接。我看着像素采集卡,但构造函数方法都需要一个像素范围。我也有一个班的另一个文件夹,http://www.mediafire.com/?2u7qt21xhbwtp获取像素


另一个注意,这项计划是非常低效的,我知道,这是低效的grayscaleValue()方法,但我不知道如果有什么更好的办法做这个。这个计划的任何建议也会很棒。提前致谢! (这个程序全部是在eclipse上完成的)

将图像读入BufferedImage之后,可以调用getWidth()和getHeight()来动态获取这些信息。请参阅JavaDocs。另外,使用GetPixelColor的构造函数来一劳永逸地创建BufferedImage。这将避免从磁盘读取每个像素的每个通道的整个文件。

为了进一步代码清理,更改系列的if语句到开关构建体,或索引到一个数组,取其更自然。有关开关结构的说明,请参见this。最后

一种意见:逻辑上表示对象的状态应该声明非静态类内部的任何物件。比方说,如果你想并排渲染两个图像,你需要创建实例,如果GetPixelColor,并且每个应该有它自己的高度和宽度属性。由于它们当前声明为静态,所以每个实例将共享相同的数据,这显然不是令人期望的行为。

+0

你知道我真的应该去那里看看......非常感谢!关于如何使程序更有效的任何建议? – Evan 2011-06-16 03:44:07

+0

是的,这是..这是我第一次使用图像的程序,所以我新BufferedImage类你会介意发布一些适合我的代码? – Evan 2011-06-16 03:54:09

+0

是的,如果你不介意 – Evan 2011-06-16 04:09:49