JAVA 实现缩放图片有什么好的算法?
我在网上搜索到一个例子,不过出来的效果很差,还不如用 ACDSee 出来的效果,不知道兄弟们有没有好的例子,大家分享下!
我用的例子如下:
import java.io.File;
import java.io.FileOutputStream;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.image.BufferedImage;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
public class test1
{
public test1()
{
}
public void showpic() throws Exception
{
File _file = new File("1.jpg"); //读入文件
Image src = javax.imageio.ImageIO.read(_file); //构造Image对象
int height=src.getHeight(null); //得到源图长
int wideth=src.getWidth(null);
BufferedImage tag = new BufferedImage(wideth,height,BufferedImage.TYPE_INT_RGB);
tag.getGraphics().drawImage(src,0,0,wideth,height,null); //绘制缩小后的图
FileOutputStream out=new FileOutputStream("newfile.jpg"); //输出到文件流
JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
encoder.encode(tag); //近JPEG编码
//System.out.print(width+"*"+height);
out.close();
}
public static void main(String args[])
{
test1 im = new test1();
try
{
im.showpic();
}
catch(Exception e)
{
System.out.println(e);
}
// test1.
System.out.println("test!");
}
}