イメージのサイズを変更するためにimgscar Java ライブラリを使用しています。
resize() メソッド呼び出しの結果は BufferedImage オブジェクトです。これをファイル (通常は .jpg) として保存します。
どうやってやるの?BufferedImage
->から行きたいのですFile
が、おそらくこれは正しいアプローチではありませんか?
イメージのサイズを変更するためにimgscar Java ライブラリを使用しています。
resize() メソッド呼び出しの結果は BufferedImage オブジェクトです。これをファイル (通常は .jpg) として保存します。
どうやってやるの?BufferedImage
->から行きたいのですFile
が、おそらくこれは正しいアプローチではありませんか?
File outputfile = new File("image.jpg");
ImageIO.write(bufferedImage, "jpg", outputfile);
クラスBufferedImage
の write メソッドを使用してオブジェクトを保存できます。javax.imageio.ImageIO
メソッドのシグネチャは次のようになります。
public static boolean write(RenderedImage im, String formatName, File output) throws IOException
書き込み対象のです。im
は形式の非公式名 (png など) を含む文字列で、書き込み先のファイル オブジェクトです。PNG ファイル形式のメソッドの使用例を以下に示します。RenderedImage
formatName
output
ImageIO.write(image, "png", file);
java.awt.image.bufferedImage を作成してファイルに保存します。
import java.io.*;
import java.awt.image.*;
import javax.imageio.*;
public class Main{
public static void main(String args[]){
try{
BufferedImage img = new BufferedImage(
500, 500, BufferedImage.TYPE_INT_RGB );
File f = new File("MyFile.png");
int r = 5;
int g = 25;
int b = 255;
int col = (r << 16) | (g << 8) | b;
for(int x = 0; x < 500; x++){
for(int y = 20; y < 300; y++){
img.setRGB(x, y, col);
}
}
ImageIO.write(img, "PNG", f);
}
catch(Exception e){
e.printStackTrace();
}
}
}
ノート:
ワンライナーとして:
ImageIO.write(Scalr.resize(ImageIO.read(...), 150));