问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(50分)

  • 主题发起人 鱼片干子
  • 开始时间

鱼片干子

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个类(继承于Component)中定义它的构造函数,并向该构造函数传递一个Image
类型的数据vimg . 该类有一个私有(private)的Image类型的属性background, 该构造函数中有
如下一段代码 :
....
background=createImage(width,height);
* Graphics backgroundg=background.getGraphics();
backgroundg.drawImage(vimg,0,0,this);
调试的时候发现,当执行到星号处的时候(Graphyics backgroundg=....语句) 会产生
nullpointerexception ,是什么原因???我想拷贝vimg的部分图象到background中,应该用
什么方法?????请指教!!!!!!!!!!!!!!!
 
使用MemoryImageSource
 
可以具体一点么,可以在解释一下为什么我的方法不行呢?
 
CreateImage好像只能在Applet里面使用。很久没用,记不得了,又懒得去看
嘿嘿。
 
我觉得确实是要出错的,你想想看,background=createImage(width,height)创建了一个
image类,但是,你并没有给这个类指定一个具体的图象啊,或者说你并没有给它的Graphics
赋值啊,所以这时候background.Graphics=null,我没有用过image类,不知道有没有
loadfromfile这一类的方法。我觉得你肯定应该先调用这样的方法后才能用getGraphics取得
图象。
 
BufferedImage bi = new BufferedImage(iImageWidth ,
iImageHeight,
BufferedImage.TYPE_BYTE_INDEXED);
graphics = bi.createGraphics() ;
不是先有Graphics才有图像,而是有了图像,才有它的Graphics.
ImageIcon类可以从文件构造一个图像。
 
多人接受答案了。
 
顶部