这样试试:int[] buffer = new int[256*256] ; /*接下去将数据读入buffer*/ MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256); Image image = Toolkit.getDefaultToolkit().createImage( mis ) ;再利用Graphics的drawImage应该就可以画出来了,不需要一个像素一个像素的写
呵呵,这种写象素的方法真原始, 不过虽然没有setpixel,却幸好有 drawline,一样的
我文件里的数据是图象的灰度,怎么用drawLine()?!谢谢指教啊!!
回drinkant(喝酒的蚂蚁)大虾: 你所言 int[] buffer = new int[256*256] ; MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256); Image image = Toolkit.getDefaultToolkit().createImage( mis ) ; 然后用g.drawImage(image,0,0,null)就行了吗?可是,却显示不出来!怎么回事情啊?!我的代码如下: super.paintComponent(g); RawPFrame frame=new RawPFrame(); for(int i=0;i<256*256;i++) buffer[i]=frame.rawBuffer1D[i]; MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256); Image image1 = Toolkit.getDefaultToolkit().createImage( mis ) ; g.drawImage(image1,0,0,this);
/*接下去将数据读入buffer*/
MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256);
Image image = Toolkit.getDefaultToolkit().createImage( mis ) ;再利用Graphics的drawImage应该就可以画出来了,不需要一个像素一个像素的写
不过虽然没有setpixel,却幸好有
drawline,一样的
int[] buffer = new int[256*256] ;
MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256);
Image image = Toolkit.getDefaultToolkit().createImage( mis ) ;
然后用g.drawImage(image,0,0,null)就行了吗?可是,却显示不出来!怎么回事情啊?!我的代码如下:
super.paintComponent(g);
RawPFrame frame=new RawPFrame();
for(int i=0;i<256*256;i++)
buffer[i]=frame.rawBuffer1D[i];
MemoryImageSource mis = new MemoryImageSource(256,256,buffer,0,256);
Image image1 = Toolkit.getDefaultToolkit().createImage( mis ) ;
g.drawImage(image1,0,0,this);