当前页面: 开发资料首页 → J2SE 专题 → applet/J2SE 如何通过byte[]装载本地图片
applet/J2SE 如何通过byte[]装载本地图片
摘要: applet/J2SE 如何通过byte[]装载本地图片
我的applet已经签名过,可以访问客户端的本地文件.
但我发现了一个问题,当把访问本地文件的code放到非applet方法(非init ,start, paint等方法)会报accessControl deny,访问被拒绝的错误. 目前这个问题无法解决, 我绕过去,通过其它方式解决了.
==========================
今入正题:
目前我有个问题, 我先读取一共图片jpg文件, 读入byte[],中然后我希望使用
Image img1 = getToolkit().createImage(FileData); // FileData是图片的byte[]数据
g.drawImage(img1 , 20, 20, this);
但drawImage()方法不停的返回false,且图片不显示
注: FileData的数据没问题,我可以把它写人文件,打开都没问题.
怎么搞呢???高手
ByteArrayInputStream bais = new ByteArrayInputStream(FileData);
BufferedImage image = ImageIO.read(bais);
g.drawImage(image , 20, 20, this);
to chenweionline(键盘上的舞者) :
thanks a lot, 已经解决
为什么我的那个实现方法不行呢?
确定你的Image byte[]是正确的
图片数据的 byte[] FileData. 数据当然正确了,用chenweionline(键盘上的舞者)的方式显示就可以
Image img1 = getToolkit().createImage(FileData);
这个方法异步装载图像,就是说语句执行后不能保证图像真正完全被装载。
你想多了解一些可以看看我的部落格
AWT中图像的异步加载和等待图像的完全加载
http://www.blogjava.net/leon/archive/2005/07/12/7533.html