dポイントプレゼントキャンペーン実施中!

javaで画像を回転、縮小するにはどのようにすればよいでしょうか?

なるべく画質の良い方法で教えてください。

よろしくお願いします。

A 回答 (1件)

javaで標準で使える画像のアフィン変換(補填)アルゴリズムは、 nearest-neighbour、bilinear、bicubicで、左から順に画質が基本的に向上し、そのかわり計算コストが高くなります。




下記ソースは
http://www.java-tips.org/java-se-tips/javax.imag …
からもらってきたもので、いらんとこを消してあります。

一番画質の良いbicubicを使っています。



import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.swing.*;
import javax.imageio.*;

public class Bicubic {
public static void main(String args[]) throws IOException {
if (args.length == 0) {
System.err.println(
"Provide image name on command line");
System.exit(-1);
}
Image image = ImageIO.read(new File(args[0]));
int w = image.getWidth(null);
int h = image.getHeight(null);
BufferedImage bicubic = new BufferedImage(2*w, 2*h,
BufferedImage.TYPE_INT_RGB);

bg = bicubic.createGraphics();
bg.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
RenderingHints.VALUE_INTERPOLATION_BICUBIC);
bg.scale(2, 2);
bg.drawImage(image, 0, 0, null);
bg.dispose();

}
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!