問題タブ [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 - 最速のJavaイメージリーダーは何ですか
BufferedImage をディスクにシリアライズしてから読み込む必要があるプログラムがあります。現在、生の画像形式を使用しています
多くのテストを行った結果、同じデータでもパフォーマンスが大きく異なるようです (1 秒未満から 15 秒まで)。
1. これを引き起こす原因は何ですか?
2. このタスクを実行する Java で最速のイメージ リーダー/ライターはどれですか?
ありがとう
xcode - コンソールに ImageIO エラーが表示されるのはなぜですか?
エラー ImageIO: _CGImagePluginInitGIFmalformed GIF file (768 x 1024) が表示されるのはなぜですか?
私は夢中になります!このエラーは、一部の .gif 画像を UIImageView に表示する必要がある場合に XCode コンソールに表示されます。画像が表示されず(!)、コンソールに表示されます。そのエラーは、すべてではなく、いくつかの画像でのみ表示されます! 画像を削除して再度追加し、クリーンアップして再構築しようとしましたが、まだそれらの画像を表示できません! XCode 4.0.1 をインストールするまではすべて問題なく動作し、すべての画像が正常に表示されていました。これは XCode のバグであり、最新バージョン 4.0.2 をインストールする必要があると言う人もいます。私はそれをしましたが、問題はまだここにあります!ここでググって検索しましたが、この種のエラーは一般的ではないようです...何が起こっているのか本当にわかりません。これで私を助けてもらえますか?
java - Matlab: Java ImageIO クラスを適切に使用して BufferedIMage を取得する方法
データベース内のいくつかの画像データについて、Matlab でモックアップを作成しようとしています。画像データはJavaからのもので、base64でエンコードされたバイト配列として出力されます。[java image] 形式に詳しくありません。ただし、私と一緒に働いている人が書いたJavaに基づいて、次のMatlabコードを書きました。それらは同じ基本的なアウトラインに従っており、Java コードは画像を問題なく読み取ることができます。Matlab コードは次のようになります。
を調べると、これはJavaインスタンスではなくbufferedimage
の空の配列です。double
BufferedImage
dataStream
期待どおりに動作するかどうかを確認するために、いくつかのテストを実行しました。次の行に沿った一種のミニ単体テスト:
チェックアウトしたので、問題は ImageIO またはその使用にあると思われます。
残念ながら、ImageIO (およびこれらの他の API のいくつか) を使用するために私が見つけた例はどれも、ここで概説した方法 (つまり、Matlab) で使用されていません。
このコードはjava.io.ByteArrayInputStream
、提供されたデータがバイトの配列であるという意味で、同じ方法で使用します。
このコードは、本質的に私がやろうとしていることです - Java 画像を Matlab 配列に変換します。残念なことに、彼らは Matlab の画像を取得し、それを Java の画像に変換してから元に戻すという方法でごまかしています。
このコードでは ImageIO を使用していますが、これはファイル ストリームから読み取ることによって行われます。データをファイルに書き込んでから、を使用して読み込もうとしましたjava.io.File
が、どちらの方法でも同じ結果が得られます。
だから、私は途方に暮れています。
java - ImageIO.createImageInputStream が null を返すのはなぜですか?
これは以前は機能していましたが、現在は機能していません。イメージがストリーミングされると思われる部分を変更しなかったので、なぜこれが機能しないのかわかりません。これが私のコードのスニペットです:
filepath
イメージへの絶対ファイルパスであり、イメージはサーバー上のその場所にあることが確認されています。に到達するまで、すべてがうまく機能しImageIO.createImageInputStream(f)
ます。それは今戻ってきnull
ています。ファイルに取り込むjavadocを読みました。では、なぜnull
now を返すのでしょうか。誰でも知っていますか?上記のコードは私の編集では変更されていないため、変更前に機能した理由と現在機能しない理由がわかりません。どんな助けでも大歓迎です!ありがとう!
java - Javaでのビジュアルコンポーネント構築中のフォーカスの防止
プログラムの実行中に画像を数回リロードする必要があるアプリケーションを作成しました。おそらくそれは不器用ですが、私の実装は、サブクラスのComponentクラスを拡張し、そのコンストラクターへのfileName引数を介してイメージを再ロードすることでした。コードは以下に含まれています:
とにかく、私の問題は、display
コマンドを呼び出すたびに、このウィンドウがEclipseを含むすべてのJavaのフォーカスを奪うことです。これは、実際に悪化する可能性があります。コンストラクターを追加しようとしsetFocusable(false)
ましたが、それでもフォーカスを奪うことができます。焦点を合わせることができるが、建設時に自動的に焦点を合わせないようにするにはどうすればよいですか?
java - Javax を使用して画像を読み取ると、大量のメモリが必要になります
JFileChooser を使用して多数のファイルを開いていBufferedImage
ますimage = ImageIO.read(path);
。image が静的フィールドとして宣言されている場所。
これで、それぞれ 1Mb のファイルが 30 個になり、read() を 60 回実行した後、メモリ使用量 (OS プログラム マネージャーで確認) が約 70Mb 増加しました。
私の画像変数は静的であるため、画像コンテンツがどこかに保存されているという問題ではありません。私の質問は、なぜそんなに多くのメモリを失っているのですか?
大量の写真をメモリにロードする必要があるアプリを書いていますが、ネギはありますか? 使用されていないデータをクリーンアップするのはガベージ コレクターのタスクですか?
このデータを読み取るコードは次のとおりです。
どうしたの?
多分私は間違っているのですか?RAMにロードされた大量の画像または圧縮画像から生のピクセルが必要です。そのため、画像の任意のピクセルにすばやくアクセスできました。
1Mb の pic をロードするのに 1Mb 以上かかるのは奇妙です。
java - Javaで画像をつなぎ合わせる
javaを使用していくつかの画像をつなぎ合わせようとしています。つなぎ合わせたい画像がたくさんありますが、それらはすべて同じ寸法なので、実際にはそれらを並べて配置するだけの問題だと思います。私はそれを動作させていますが、それは非常に遅く、おそらく非常にメモリを消費します。もっと簡単な方法があるかどうか疑問に思います:
java - メモリにロードせずに画像のサイズを変更する方法は?
画像のサイズを確認し、幅が特定のしきい値を超えている場合はサイズを小さくしたいと思います。ImageIO.read() で 6MB の JPEG 画像をロードすると、BufferedImage は約 45MB のヒープ領域を割り当てます。すべてのデータをメモリにロードせずにパススルー イメージのサイズ変更を行う方法はありますか? ImageIO.read() に File オブジェクトを渡そうとしましたが、ディスクからデータをストリーミングすると思っていましたが、役に立ちません。
objective-c - CGImageSource / CGImageDestinationを使用してディスク上のCGImageを回転させますか?
を使用して写真を撮り、そのサムネイルをアプリに表示し、 (from )UIImagePickerController
を使用してその写真をサーバーに送信する必要があるアプリケーションに取り組んでいます。ASIFormDataRequest
ASIHTTPRequest
私の経験では、生のNSDatasetFile:withFileName:andContentType:forKey:
を使用して画像を送信するよりも高速であるため、ASIFormDataRequestから使用したいと思います。UIImageJPEGRepresentation
そのために、URLを使用して画像の宛先を使用CGImageDestination
および作成し、その画像をディスクに保存してから、そのファイルをディスクにアップロードしています。
使用しているサムネイルを作成しCGImageSourceCreateThumbnailAtIndex
(ドキュメントを参照)、保存したファイルのパスを使用して画像ソースを作成します。
私の問題は、画像の宛先またはサムネイル作成呼び出しにどのオプションを渡しても、サムネイルが常に反時計回りに90度回転して出力されることです。アップロードした画像も回転します。を使用して画像のオプションで向きを明示的に設定しようとしましたCGImageDestinationSetProperties
が、うまくいかないようです。私が見つけた唯一の解決策は、メモリ内の画像を回転させることですが、そうすることでサムネイル+保存操作が完了するまでの時間が2倍になるので、それを避けたいと思います。理想的には、ディスク上の画像を回転できるようにしたいと思います。
使用方法に何かが欠けていますCGImageDestination
かCGImageSource
?以下にいくつかのコードを投稿します。
画像の保存:
サムネイルの生成
そして、画像をアップロードするために私はちょうど使用します
ここで、path
は上記のコードで保存されたファイルへのパスです。
iphone - CGImageRead_mapData 'open' failed ... エラー = 2 (そのようなファイルまたはディレクトリはありません)
カスタマイズされたタブバーを使用して iPhone アプリケーションを実装しました。選択された/選択されていないタブに使用される画像は、UIImage imageNamed を介して読み込まれます。通常は問題なく動作しますが、ランダムに見えることがありますが、画像の 1 つがロードされて黒い空のスペースに置き換えられると消えてしまいます。もう一度クリックすると、画像が再び表示されます。
いくつかの症状: - 4.3 の iPhone 4 でのみ再現できました。4.2 では発生しませんでした (4.3 と同じくらいテストしました)。- 4.3 の 3GS (低解像度) でテストできませんでした。4.2 では上記と同じですが、発生しませんでした。
私はそれが起こった時間の1つから何とかプリントを取得しました.こことタイトルで指定されているエラーが表示されました:
ImageIO: CGImageRead_mapData 'open' failed '/var/mobile/Applications/7A76BCE5-' エラー = 2 (そのようなファイルまたはディレクトリはありません)
すべてのタブ イメージは次のように開始されます。
選択/選択解除すると、次のように変更されます。
UIImageView は dealloc で正常に解放されます。
このエラーについて手がかりを持っている人...?