日期:2014-05-20  浏览次数:20711 次

JAVA eclipse 中,已知灰度图像的像素矩阵如何输出这个图像?
JAVA eclipse 中,已知灰度图像的像素矩阵如何输出这个图像?求指教。
------最佳解决方案--------------------
你需要看些swt imagedata的相关资料。
------其他解决方案--------------------

        //此类放在一个继承JFrame的主类中(必须放在主类里边,因为这样可以自由使用主类的变量)
         //greyLevel是那个二维矩阵
class DrawImage extends JPanel{

public void paintComponent(Graphics g){
super.paintComponent(g);

for(int i=0;i<greyLevel.length;i++){
for(int j=0;j<greyLevel[0].length;j++){
g.setColor(new Color(greyLevel[i][j],greyLevel[i][j],greyLevel[i][j]));
g.drawOval(j, i, 1, 1);
}
}
}
}

------其他解决方案--------------------
生成imagedata……根据你的矩阵把ImageData中的像素创建出来,然后写个paltte,就OK了。
------其他解决方案--------------------
看我博客吧!
------其他解决方案--------------------
谢谢,可以具体点么?新手,一时难以消化。
引用:
生成imagedata……根据你的矩阵把ImageData中的像素创建出来,然后写个paltte,就OK了。

------其他解决方案--------------------
你的博客我看不太懂,我的像素矩阵是一个二维数组,下标i,j是像素在图片中的位置,像素值是RBG的平均值,关键是怎么用这个数组把图像画出来。
引用:
看我博客吧!

------其他解决方案--------------------
引用:
谢谢,可以具体点么?新手,一时难以消化。引用:

生成imagedata……根据你的矩阵把ImageData中的像素创建出来,然后写个paltte,就OK了。



ImageData data = new ImageData(width, height, pixelDepth, palette);
for (int y = 0; y < data.height; y++) {
for (int x = 0; x < data.width; x++) {
data.setPixel(x, y, pixel[y * width + x]);
if (transparent)
data.setAlpha(x, y, alpha[y * width + x]);
}
}

------其他解决方案--------------------
同新手。。。
也很疑惑。。。
不过我刚刚想到,其实可以自己写一个函数来打印图片
已知每个像素点的坐标,以及它的灰度值
用java中的画图函数中画点的的函数应该可以实现
具体是给画笔的颜色rgb的三个分量均赋值为此灰度值,然后将点根据其坐标画出来
再不断改变画笔颜色然后画点...
反复反复,应该就可以了
只是貌似很麻烦

以上是个人鄙见
行不行的通就不知道了
我也有这个作业,大概一会试一下

我怀疑咱们是一个班的。。
------其他解决方案--------------------
引用:
同新手。。。
也很疑惑。。。
不过我刚刚想到,其实可以自己写一个函数来打印图片
已知每个像素点的坐标,以及它的灰度值
用java中的画图函数中画点的的函数应该可以实现
具体是给画笔的颜色rgb的三个分量均赋值为此灰度值,然后将点根据其坐标画出来
再不断改变画笔颜色然后画点...
反复反复,应该就可以了
只是貌似很麻烦

以上是个人鄙见
行不行的通就不知道了
我也有这个作业,……
试了下,行得通。。。
不过图像整体暗了一点
希望对你有帮助
------其他解决方案--------------------
求代码,直接贴上大家分享或者发到我邮箱1099647598@qq.com,感激不尽啊
引用:
引用:
同新手。。。
也很疑惑。。。
不过我刚刚想到,其实可以自己写一个函数来打印图片
已知每个像素点的坐标,以及它的灰度值
用java中的画图函数中画点的的函数应该可以实现
具体是给画笔的颜色rgb的三个分量均赋值为此灰度值,然后将点根据其坐标画出来
再不断改变画笔颜色然后画点...
反复反复,应该就可以了
只是貌似很麻烦

以上是个人鄙见
行不行的通……

------其他解决方案--------------------