問題タブ [javax.imageio]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - そこにjavax.imageioに代わる良いものはありますか?
画像の簡単な回転、切り取り、スケーリング操作を実行できる、javax.imageio パッケージに代わる優れた方法を探しています。たとえば、私はやりたいです
右に角度度回転し、高さx幅のピクセルに縮小された画像を取得するため。
Graphics2D と BufferedImages を使用して、これを行う必要がありますが、これは読み取りも書き込みも容易ではありません。
(実際には、そのコードは正方形以外の画像を考慮していないため、翻訳でさらに魔法をかける必要があります)。
java - ImageIO でアニメーション GIF を作成しますか?
ImageIO にアニメーション GIF を書き込んで、特に正しいメタデータを設定するよう説得した人はいますか? 私の最初の試みはおおよそ次のとおりです(b1とb2はBufferedImagesです):
これはほとんど機能しているように見えますが、次のとおりです。
- 画像間の時間を設定し、理想的にはそれらをループさせるために、どういうわけか「適切な」メタデータを設定する必要があることは明らかです(デフォルトで何か賢明なことをすることを素朴に望んでいましたが、ねえ...)
- デフォルトで書き込んでいるメタデータが何であれ、明らかに正しくありません。GIMP は、ファイルをロードするときにいくつかのエラー メッセージを表示しますが、Firefox のテスト Web ページに画像を埋め込むと、2 つの画像が非常に素早く連続して表示されます。私が望むものに近い...
誰かが ImageIO から動作するアニメーション GIF を書き、動作するコードのスニペットまたは上記の問題を修正する方法を共有できる場合は、大歓迎です!
java - sun.awt パッケージの非公開クラスにアクセスする [具体的には: FetcherInfo]
質問:
アプリにパフォーマンス上の問題があり、ボトルネックはsun.awt.image.ImageFetcher.run
で、プロファイラーから (それ以上) 意味のある情報を取得できません。そこで、ImageFetcher が行っている仕事を見てみるのもいいだろうと考えました。
すべてのジョブFetcherInfo
を保持するクラスにアクセスできませんでした。インスタンスImageFetcher
を取得するには、 を呼び出す必要があります。FetcherInfo
FetcherInfo.getFetcherInfo()
パッケージでクラスを作成しましたsun.awt.image
(私のプロジェクトでは、rt.jarをいじりませんでした)。
私がFetcherInfo
使用するために:
そして、私は例外を受け取ります:Exception in thread "IMAGE-FETCHER-WATCHER" java.lang.IllegalAccessError: tried to access class sun.awt.image.FetcherInfo from class sun.awt.image.FetcherDebug
また、スタック トレースは次を指しています。
同じ例外が発生しました:
したがって、誰でも次のいずれかの方法についてアイデアを持っています。
- ImageFetcher インスタンスを取得する
- どの画像がロードされているかを調べる
解決
問題は、クラスをsun.java.awt
パッケージに入れずに、パッケージで保護されたメンバーにアクセスするためにクラスをパッケージに入れたことrt.jar
であり、呼び出し側で例外がスローされImageFetcher.class
ました。
java - ImageIO.readを使用したNullPointerException
画像ファイルを読み込もうとしているときにNPEを取得しましたが、その理由を一生理解できません。これが私の行です:
imgPathは基本的に有効であることが保証されており、ここに到達する直前にサーバーからファイルをコピーします。その行に到達すると、次のスタックトレースを取得します。
また、これは私の出力ウィンドウにスローされます:
ICOFileを作成できません:バイトを読み取れません:2
特にFileコンストラクターが成功しているので、何が起こっているのかわかりません。同様の問題を抱えている人は誰もいないようです。誰かアイデアはありますか?(それが違いを生む場合はJava 5)
java - gif ファイルから変換した jpg ファイルがくっきりと鮮明でないのはなぜですか?
次のコードを使用して gif ファイルを jpg ファイルに変換します。機能しますが、結果の jpg ファイルは元の gif ファイルと同じ品質ではありません。なぜですか? 品質を向上させる方法はありますか?
では、この質問を別の角度から尋ねると、上記のアプローチで、出力品質を向上させるにはどうすればよいでしょうか?
java - Java で Web から画像を取得する
Web 上のどこかにある画像を Java プログラムから読み込もうとしています。これまでのところ、次のコードを使用して画像を正常にロードしました。
私が知りたいのは、このコード(私が最初に試したもの)が機能しない理由です:
これには、BufferedImage
. また、画像が読み込まれるまで上記のコードブロックを作成するにはどうすればよいですか? を使用できることはわかってImageObserver
いますが、もっと簡単な方法はありますか?
2 番目のオプションを試すと、次の例外が発生します。
java - Javaでバイト配列を画像に変換 - タイプを知らなくても
シンプルですね。使用する
シワはこちら。何らかの理由で jpeg を bmp として検出しています。これは、呼び出したときに返される最初の ImageReader です。
これにより、イメージが破損します。ヘッダーのバイトを直接見て、さまざまな画像のバイトヘッダーの適切な参照を誰かが知っていることに失敗するのを除いて、Javaを介して伝える方法はありますか?
私がまだこれに取り組んでいることを皆さんに知らせるだけです。答えがある場合/いつでもお知らせします。これまでのご回答に感謝いたします。
java - JavaImageIOがJPEGカラーをフラット化する理由
特定のJPGファイルを読み取ると、色が平坦になります。これは、jpgを読み取り、同じ画像を別のファイルに書き込む簡単な例です。
たとえばhttp://www.flickr.com/photos/visualpanic/233508614/sizes/l/でこれを試してみると、宛先画像の色がソースファイルと異なります。何故ですか?それを修正する方法は?
また、画像をpngとして保存しようとしましたが、色も淡いです(したがって、色情報が正しく読み取られていないと想定しています)。
image - IE または Chrome でのみ表示されない画像
FF では正しく表示される jpeg がありますが、IE または Chrome では表示されません。画像をダウンロードして IE と Chrome に直接読み込もうとしましたが、成功しませんでした。両方のブラウザで壊れたアイコンが表示されます。したがって、これはネットワークの問題ではありません。
このファイルは、javax.imageio.ImageIO による画像のサイズ変更の結果です。1000 枚以上の画像を正常に処理しました。
Windows エクスプローラーではサムネイルが適切に表示され、Microsoft Office Picture Manager で正常に編集できます。
このファイルの何が問題なのかを理解するのに役立つツールはありますか?
java - Java / ImageIOは、ファイル全体を読み取らずに画像のサイズを取得しますか?
ファイル全体を読み取らずに画像のサイズを取得する方法はありますか?