3

これに対する答えが見つかりません。基本的すぎる可能性があります。グレー スケールBufferedImage(基本的には白黒 PDF の一部) があり、画像に赤いボックスを描画したいと考えています。ただし、そうして画像を保存すると、赤いボックスが灰色になります。

グレースケールに色を正しく追加する方法はBufferedImage?

カラーモデル(?)をグレースケールからRGBに変換する必要があると思いますか? 画像の白黒部分をカラーに変換する必要はありませんが、つまり、結果の画像は白黒にすることができます。グレーの色合いとして保存せずに、画像に赤い線を描くことができる限り。

画像ファイルはGIFです。

4

1 に答える 1

4

次のコードを使用すると、グレースケール イメージに RED の四角形を追加できます。これがうまくいくかどうかを確認してください。それ以外の場合は、発生したエラーをお知らせください。

public static void main(String[] args) throws IOException {
BufferedImage old = ImageIO.read(new File("download.gif"));
int w = old.getWidth();
int h = old.getHeight();

BufferedImage img = new BufferedImage(
        w, h, BufferedImage.TYPE_INT_ARGB);

Graphics2D g2d = img.createGraphics();
g2d.drawImage(old, 0, 0, null);
g2d.setColor(Color.red);
g2d.drawRect(10, 10, 100, 100);
g2d.dispose();

    ImageIO.write(img, "gif", new File("out.gif"));  

    }
于 2014-04-25T05:55:35.880 に答える