用java怎么生成bmp jpg gif tif 的预览图? j2sdk140安装包的demo中本身就有一个,而且作得很不错。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 GJA106(中文字符) :能否说明白点啊?到底是哪个demo? GJA106(中文字符) ( ) 信誉:99 请你说清楚点。。关注关注 GJA106(中文字符),你说清楚啊!! 你用一下jfreechart包吧,网上就可以找到! 产生一个小图吧?sun有个jai包还是不错的,可以压缩图片大小当然jdk1.4的imageio更容易使用,不过在linux下面需要xwindow支持所以我推荐你用jai,写下一小段程序参考:import javax.media.jai.operator.*;import javax.media.jai.iterator.*;import javax.media.jai.operator.*;import javax.media.jai.*;import com.sun.media.jai.codec.*;import java.awt.image.renderable.*;import java.awt.image.*; public boolean smallpicture(String src,String dest,int w,int h) { try { ParameterBlockJAI loadPB = new ParameterBlockJAI("fileload"); loadPB.setParameter("filename",src); PlanarImage source = JAI.create("fileload", loadPB); int orinWidth = source.getWidth(); int orinHeigth = source.getHeight(); int newHeigth = orinHeigth * w/orinWidth; ParameterBlock pb = new ParameterBlock(); pb.addSource(source); RenderableImage ren = JAI.createRenderable("renderable", pb); PlanarImage dst = (PlanarImage)ren.createScaledRendering(w, newHeigth, null); File fout = new File(dest); FileOutputStream out = new FileOutputStream(fout); JPEGEncodeParam param = new JPEGEncodeParam(); param.setQuality(0.70f);//设置图片质量 //这里你可以选择不同的图片编码,不过gif因为版权问题要压缩成png ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG",out,param); encoder.encode(dst); out.close(); return true; } catch (Exception e) { e.printStackTrace(); return false; } } gdsean(摇滚java),我用过imageio这个东西,可是不能生成bmp、tif格式的预览图。它对jpg、gif的图片格式支持得很好。能否提供支持bmp、tif格式的生成预览图的代码? xiaozuidazhi(以前不会用,导致信誉分低_我是好人!) :jfreechart有这个功能吗?好像是做报表的工具啊? jdk\demo\swingset里面的file chooser标签有源代码 楼主误会了,我没有推荐使用imageio我在说的是jai啊Java Advanced Imaging API(包含在Java Media API中)允许在Java应用中执行复杂的,高性能的图像处理.JAI API提供了存储图像的能力.目前,JAI API支持以下几种图像文件格式:BMP,JEPG,PNG,PNM,TIFF.下面给出了将图像存储到BMP文件的一段代码: OutputStream os = new FileOutputStream(fileToWriteTo);BMPEncodeParam param = new BMPEncodeParam();ImageEncoder enc = ImageCodec.createImageEncoder("BMP", os, param);enc.encode(img);os.close();有关存储图像文件的编程指南请参考以下网页:http://java.sun.com/products/java-media/jai/ 不好意思,几天没有上网! gdsean(摇滚java) :我先试试你的方法,如果成功就结贴给分了! 使用Java Advanced Imaging API解决了问题,结贴给分! HTTP Status 500错误,找不到Servlet类 Scanner的疑惑 try和catch是在什么情况下用的啊 java ResultSet问题请各位帮帮忙啊 ~~请教~给我一个反射的例子~~ 基础啊!!! Java 斗兽棋算法 帮优化一下 论坛中如何显示回复帖子数 如何取得资源文件路径? 关于server连接多个client 即将是初学者的一个问题?100分相送---------------- 初学正则表达式,简单问题,在线等待
sun有个jai包还是不错的,可以压缩图片大小
当然jdk1.4的imageio更容易使用,不过在linux下面需要xwindow支持
所以我推荐你用jai,写下一小段程序参考:
import javax.media.jai.operator.*;
import javax.media.jai.iterator.*;
import javax.media.jai.operator.*;
import javax.media.jai.*;
import com.sun.media.jai.codec.*;
import java.awt.image.renderable.*;
import java.awt.image.*;
public boolean smallpicture(String src,String dest,int w,int h)
{
try
{
ParameterBlockJAI loadPB = new ParameterBlockJAI("fileload");
loadPB.setParameter("filename",src);
PlanarImage source = JAI.create("fileload", loadPB);
int orinWidth = source.getWidth();
int orinHeigth = source.getHeight(); int newHeigth = orinHeigth * w/orinWidth;
ParameterBlock pb = new ParameterBlock();
pb.addSource(source);
RenderableImage ren = JAI.createRenderable("renderable", pb);
PlanarImage dst = (PlanarImage)ren.createScaledRendering(w, newHeigth, null);
File fout = new File(dest);
FileOutputStream out = new FileOutputStream(fout);
JPEGEncodeParam param = new JPEGEncodeParam();
param.setQuality(0.70f);//设置图片质量
//这里你可以选择不同的图片编码,不过gif因为版权问题要压缩成png
ImageEncoder encoder = ImageCodec.createImageEncoder("JPEG",out,param);
encoder.encode(dst);
out.close();
return true;
}
catch (Exception e)
{
e.printStackTrace();
return false;
}
}
有源代码
我在说的是jai啊
Java Advanced Imaging API(包含在Java Media API中)允许在Java应用中执行复杂的,高性能的图像处理.JAI API提供了存储图像的能力.目前,JAI API支持以下几种图像文件格式:BMP,JEPG,PNG,PNM,TIFF.下面给出了将图像存储到BMP文件的一段代码:
OutputStream os = new FileOutputStream(fileToWriteTo);BMPEncodeParam param = new BMPEncodeParam();ImageEncoder enc = ImageCodec.createImageEncoder("BMP", os, param);enc.encode(img);os.close();有关存储图像文件的编程指南请参考以下网页:http://java.sun.com/products/java-media/jai/