- PR -

Javaでの画像変換処理で困ってます。

投稿者投稿内容
シミー
会議室デビュー日: 2004/02/22
投稿数: 16
投稿日時: 2004-03-12 15:24
こんにちわ。

いろいろな方からのアドバイスをいただき、JPEG形式での画像のサイズ、圧縮による容量軽減、
任意のbit数への減色処理はできました。

ただ、それをGIF形式のファイルに適応するとバグがでてしまします。

GIF形式のイメージをBufferedImage読み込み、サイズ変換をところで、新たにBufferedImageを生成し、
AffineTransformOpクラスを使用して、スケーリング変換をしたのちに、その結果をデスティネーションの BufferedImage に格納。
そのデスティネーションのBufferedImageを、JPEG形式ファイルに出力する方法でやりましたところ、
生成されたイメージが表示はできるのですが、色素が壊れてしまっていました。

新たにBufferedImageを生成する際のイメージタイプの指定が間違っているのだと思い、
すべて試してみましたが、どれもうまくいきませんでした。

ただ単に、GIF形式ファイルをBufferedImageに読み込んで、JPEG形式ファイルに出力するだけでは、
このように色素が壊れるようなことは起きませんでした。

原因はAffineTransformOpクラスを使用してサイズ変換したとこなのでしょうか?




[ メッセージ編集済み 編集者: 谷 勝 編集日時 2004-03-12 15:26 ]

[ メッセージ編集済み 編集者: 谷 勝 編集日時 2004-03-12 15:29 ]
シミー
会議室デビュー日: 2004/02/22
投稿数: 16
投稿日時: 2004-03-18 11:23
返信遅れて申し訳ありません。

GIF形式のイメージをAffineTransformOpクラスを使用して、サイズ変換すると色素が壊れてしまった問題は、
Graphicsクラスを使用してサイズ変換することにより、解消させました。
ただ、AffineTransformOpクラスを使用して変換するより、Graphicsクラスを使っテ変換するほうが、
パフォーマンスが悪いような気がしましたが・・・。

スキルアップ/キャリアアップ(JOB@IT)