2011-02-02 10 views
4

私は、ユーザーが画像をアップロードできるウェブサイトを開発中です。私は、BMP、GIF、JPEG、PNG(そしておそらくTIFFのような1つまたは2つの他の)フォーマットを受け入れることができるようにしたいと考えています。私はこれを達成するためにApache Commons FileUploadライブラリを使用しています。すべての画像が同じフォーマットになるように、すべての画像フォーマットをJPEGフォーマットに変換したいと思います。アップロードした画像をさまざまな形式からJPEGに変換する

これを行う最も簡単な方法は何でしょうか?上記のすべての画像フォーマットが使えますか?

私が試してみました:JPEGファイルのためのいくつかのGIFファイルのためのjavax.imageio.IIOException: Unexpected block type 0!java.awt.color.CMMException: Invalid image formatを与えた

  • ImageIO.readを()、。
  • JAIは、GIFファイルのための大規模なエラートレースを与えました。

編集:JAI方法について情報:

スタックトレース:トレースの行の文字通り何百も続い

Error: One factory fails for the operation "gif"

Occurs in: javax.media.jai.ThreadSafeOperationRegistry

コード:

public static void convertToJPG(String originalFile, String newFile) throws Exception { 
    RenderedImage image = JAI.create("fileload", originalFile); 
    JAI.create("filestore", image, newFile, "JPEG"); 
} 

画像:

An image which doesn't work.

+0

JAIはGIFファイルのデコードを処理できますが、いくつかのGIFファイルを共有したり、コードの一部と少なくともエラートレースの先頭を表示できますか? –

答えて

4

特に、ImageMagickを見て、と変換コマンドを取ります。

+0

私は一見しましたが、Javaで動かすのはむしろ複雑に見え、多くのドキュメンテーションや例は実際には見えません。 – DanielGibbs

+0

ランタイムを取得してから、コマンドと引数を実行してください。これを小さなクラスにまとめて詳細を抽象化すると、後で実際のコンバータを置き換えることができます。 – seandavi

+0

私はこれを行う方法に慣れていませんが、短いコードスニペットを例として提供できますか? – DanielGibbs

関連する問題