社区
Java SE
帖子详情
如何把Image对象存为.jpg文件?
mattus_zhao
2003-08-13 11:18:02
我现在根据一个缓冲区数组imageBuffer得到了一个Image对象im,不知道有没有办法把它存为.jpg文件?
谢谢!
...全文
380
13
打赏
收藏
如何把Image对象存为.jpg文件?
我现在根据一个缓冲区数组imageBuffer得到了一个Image对象im,不知道有没有办法把它存为.jpg文件? 谢谢!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
13 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
satangf
2004-03-09
打赏
举报
回复
a
swj_20
2004-03-08
打赏
举报
回复
mark
mattus_zhao
2003-08-13
打赏
举报
回复
看来我没有把问题说清楚。
我要做的程序是这样,我有一幅demo.jpg的文件,然后我读入这幅图片,使用了自己的加密算法,比如是这样:myEncode("demo.jpg"),然后把加密的文件存为demo.ecd。我现在要写一个解密程序,首先读入这个文件,大概是这样:byte[] readFile("demo.ecd"),就是读入demo.ecd文件。然后得到一个字节数组byteBuffer,接着我对这个数组进行解密,使用方法就是:byte[] mydecode(byteBuffer);得到了字节数组imageBuffer, 接着我使用以下方法从这个imageBuffer字节数组得到了一个Image类的对象:Image image = Toolkit.getDefaultToolkit().createImage(byteBuffer);(你可以看看JDK对这个方法的介绍)。这样我就得到了一个Image类的对象image。现在我的问题就是要把这个Image类的对象image 写为一个jpe文件demo.jpg,既是还原了。
不知道你看明白没有?
还有,Image类如果是抽象类的话,它怎么可能创造实例呢?
cbhyk
2003-08-13
打赏
举报
回复
如果不行,
Image yourImg = ...
BufferedImage img = new BufferedImage(yourImg.getWidth(), yourImg.getHeight(), BufferedImage.TYPE_INT_RGB);
img.getGraphics().drawImage(yourImg, 0, 0, null);
...
cbhyk
2003-08-13
打赏
举报
回复
Image是抽象类,在sun的JDK中已知的实现类只有BufferedImage,你的Image对象就该也是BufferedImage的实例,用类型转换试试看.
Image yourImg = ...
BufferedImage img = (BufferedImage) yourImg;
mattus_zhao
2003-08-13
打赏
举报
回复
好像不能把Image类的对象直接转化为BufferedImage类的对象,因为Image类是BufferdImage类的父类。
Image im;
BufferedImage bi;
im = bi; (可行)
bi = im; (编译可以通过,但是我觉得会出问题)
不知道这个BufferImage的对象如何创建?
mattus_zhao
2003-08-13
打赏
举报
回复
不过你使用的是BufferedImage类,而我使用的是Imge类,好像BufferedImage类是继承了Image类的,那么如何把一个Imge类的对象转化为一个BufferedImage类的对象?
cbhyk
2003-08-13
打赏
举报
回复
BufferedImage img = ...//Your Image
FileOutputStream fos = new FileOutputStream("test.jpg");
com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(fos);
encoder.encode(img);
fos.close();
mattus_zhao
2003-08-13
打赏
举报
回复
不用JAI可不可以?
mattus_zhao
2003-08-13
打赏
举报
回复
不错,我的程序完成了。
谢谢 cbhyk 的帮助!
j4sxw
2003-08-13
打赏
举报
回复
关注
cbhyk
2003-08-13
打赏
举报
回复
public static void main(String[] args)
{
try
{
FileInputStream fis = new FileInputStream("test.jpg");
byte[] buffer = new byte[fis.available()];
fis.read(buffer);
fis.close();
Image yourImg = Toolkit.getDefaultToolkit().createImage(buffer);
MediaTracker tracker = new MediaTracker(new JLabel());
tracker.addImage(yourImg, 1);
tracker.waitForID(1);
BufferedImage img = new BufferedImage(yourImg.getWidth(null), yourImg.getHeight(null), BufferedImage.TYPE_INT_RGB);
img.getGraphics().drawImage(yourImg, 0, 0, null);
FileOutputStream fos = new FileOutputStream("test1.jpg");
com.sun.image.codec.jpeg.JPEGImageEncoder encoder = com.sun.image.codec.jpeg.JPEGCodec.createJPEGEncoder(fos);
encoder.encode(img);
fos.close();
System.exit(0);
}
catch(Exception e)
{
e.printStackTrace();
System.exit(1);
}
}
badbob
2003-08-13
打赏
举报
回复
用cbhyk的方法肯定是可以的,不论image还是bufferedimage,我前段时间就这样写过一个画图程序,抽象类不能new得一个"抽象"实例,但可以定义变量,用它引用实现了其抽象方法的子类对象,你试试看用toolkit(它也是抽象类)的create方法得到的image是否是bufferedimage对象(肯定是image某一子类对象)?好像一般image都可以直接cast的的
数字成像系统
数字成像系统暨
Image
signal processor原理培训,涵盖成像系统基础5讲:1. 数字成像系统介绍2. CMOS
image
sensor基础3. 镜头光学基础4. 颜色科学基础5. ISP 信号处理基础,以及ISP各模块:6.黑电平与线性化7.Green Imbalance8:9.坏点消除等21讲,3A技术以及图像质量评价与调校6讲
java 创建
image
对象
_Java中如何根据图片
文件
创建
Image
对象
,且将
Image
对象
保
存为
文件
形式...
一.创建与保存1.根据一个
文件
路径创建
Image
对象
Image
image
=
Image
IO.read(new File(filepath));2.将
Image
对象
保
存为
文件
形式Buffered
Image
image
=
Image
IO.read(new File(filepath));//要想保存这个
对象
的话你要把
image
声明为Buffered
Image
类型
Image
IO.write(im...
Java中如何根据图片
文件
创建
Image
对象
,且将
Image
对象
保
存为
文件
形式
一.创建与保存 1.根据一个
文件
路径创建
Image
对象
Image
image
=
Image
IO.read(new File(filepath)); 2.将
Image
对象
保
存为
文件
形式 Buffered
Image
image
=
Image
IO.read(new File(filepath));//要想保存这个
对象
的话你要把
image
声明为Buffered
Image
类型
python
image
.open函数_【已解决】Python中使用PIL的
Image
函数出错:ValueError: not enough
image
data...
【问题】已经实现了,将返回的
jpg
数据保
存为
jpg
文件
,然后用PIL的
Image
.open打开,并调用show显示:respHtml = crifanLib.getUrlRespHtml(captchaUrl);# captchaDir = "captcha";# #captchaPicFile = "returned_captcha.
jpg
";# captchaPicFile = datetim...
python pil
image
_Python PIL的
Image
模块
Image
模块:
Image
模块是PIL最基本的模块,其中导出了
Image
类,一个
Image
类实例
对象
就对应了一副图像。同时,
Image
模块还提供了很多有用的函数。(1)打开一副图像
文件
:import
Image
img =
Image
.open(“dip.
jpg
”)这将返回一个
Image
类实例
对象
,后面的所有的操作都是在img上完成的。在这里,我们读入的图像是:(2)调整图像大小:import Im...
Java SE
62,614
社区成员
307,326
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章