156

イメージのサイズを変更するためにimgscar Java ライブラリを使用しています。

resize() メソッド呼び出しの結果は BufferedImage オブジェクトです。これをファイル (通常は .jpg) として保存します。

どうやってやるの?BufferedImage->から行きたいのですFileが、おそらくこれは正しいアプローチではありませんか?

4

6 に答える 6

280
File outputfile = new File("image.jpg");
ImageIO.write(bufferedImage, "jpg", outputfile);
于 2012-10-01T13:19:13.370 に答える
25

クラスBufferedImageの write メソッドを使用してオブジェクトを保存できます。javax.imageio.ImageIOメソッドのシグネチャは次のようになります。

public static boolean write(RenderedImage im, String formatName, File output) throws IOException

書き込み対象のです。imは形式の非公式名 (png など) を含む文字列で、書き込み先のファイル オブジェクトです。PNG ファイル形式のメソッドの使用例を以下に示します。RenderedImageformatNameoutput

ImageIO.write(image, "png", file);
于 2012-10-01T13:19:52.120 に答える
11

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();
        }
    }
}

ノート:

  1. MyFile.png というファイルを作成します。
  2. 画像は 500 x 500 ピクセルです。
  3. 既存のファイルを上書きします。
  4. 画像の色は黒で、上部に青のストライプがあります。
于 2015-04-12T22:13:43.943 に答える
0

ワンライナーとして:

ImageIO.write(Scalr.resize(ImageIO.read(...), 150));
于 2012-10-01T13:24:02.070 に答える