問題タブ [jai]
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.
fonts - Java Graphics 2 で任意の .ttf フォントでレンダリングされた文字列の合計幅を取得します
現在、任意のフォントでレンダリングされた文字列の幅を取得しようとしています。
問題はこの行にあります...
ほとんどのフォントではこれでうまくいきますが、一部の洗練されたスクリプト フォントでは、予想よりも幅が狭くなっているように見えます。FontMetrics.stringWidth の javadoc に従って、読むこともできます...
この Font で指定された文字列を表示するための合計送り幅を返します。前進は、弦のベースラインの左端から右端までの距離です。String の進行は、必ずしもその文字の進行の合計ではないことに注意してください。
java - setCompressionType のエラー
このコードの修正を手伝ってくれる人はいますか?
私は取り組んでJAI
おり、JPGファイルをロスレスに圧縮しようとしています ここに私のコードがあります
この部分 param.setCompressionType("JPEG-LOSSLESS");
のエラーは常にエラーですjava.lang.IllegalArgumentException: Unknown compression type!
at javax.imageio.ImageWriteParam.setCompressionType(ImageWriteParam.java:1023)
java - .TIFファイルの印刷
次のコードスニペットを使用して.GIF、.JPG、または.PNGを正常に印刷できますが、.TIFファイルでは機能しません。chromaticity.color
また、属性を追加しても色がわかりません。
印刷用に.TIFをサポートするにはどうすればよいですか?
java - JAI を使用して、パレットに新しい色を追加するにはどうすればよいですか?
JAI を使用して、画像に「境界線」を追加しています。例えば
上記の「consts」の値は、ColorModel によって異なります。ComponentColorModel を使用する場合、各ピクセルには独自の色があるため、パレットをいじる必要はありません。画像にパレット (GIF、PNG など) がある場合、ColorModel は IndexColorModel です。
IndexColorModel が使用されている場合、'consts' は double[] 配列で、サイズは 1 です。配列の値は、カラー パレットのインデックスです。
新しい IndexColorModel を作成してパレットを変更する方法を見つけましたが、コード化する必要があるロジックは正気ではありません。(たとえば、パレットに含めることができる色の数は、多くの要因によって異なります。さらに、新しい色を追加するためにパレットから色を削除する必要がある場合は、どの色を削除するのが最適かを判断するロジックが必要になります。次に、以前にその色を参照していたすべてのピクセルを変更します -- うわー、それは大量のコードです!)
それで、私の質問は、どのようにパレットに色を追加するのですか? 既存のライブラリはありますか? または、ioimage から何かを使用する必要がありますか? (正直に言うと、jai がどこで「終了」し、ioimage が「開始」するのか少し混乱しています。)
また、副次的な質問ですが、何らかの理由で、パレットに約 10 色しかないテスト画像が 256 色として読み込まれます。次にjaiで画像を保存すると、256色すべてが保存されます(11から255はすべて黒です)。なぜこれをやっているのですか?
ありがとう!デビッド
java - ColorConverterOp Java を使用して RGB JPEG を CMYK JPEG に変換する
rgb の jpeg 画像を CMYK 色空間に変換しようとしています。唯一の問題は、最終出力が常に黒い画像になることです。しかし興味深いことに、MAC のプレビュー アプリケーションは画像を正しく表示します。私がこれまでに見たどこにも、rgbからcmykへの変換が成功した例はないようです。以下は、変換を試みるために使用しているコードです。RGB ICC プロファイルを使用して RGB への変換を実行している場合、このコードは正常に動作します。どんなガイダンスも大歓迎です。
java - JAI を使用した Java での TIFF レンダリングによるパフォーマンスの高速化
私は、多層 tiff ファイルとして保存されている顕微鏡データを分析するソフトウェアに取り組んできました。StackOverflow と JAI ドキュメントに目を通した後、TIFF スタックを格納して正しくレンダリングするためのコードをまとめました。
ただし、かなり悪いパフォーマンスに悩まされています。次のような投稿を読んだ後、パフォーマンスの高速化を期待していました 。
残念ながら、私が望んでいたほど良くはありません。私は外部の画像ライブラリや Java のグラフィックス機能を使った経験があまりないので、これをどのように改善できるかわかりません。
状況によっては、TIFF スタックをトラバースしているときに発生する「吃音」のビデオを次に示します: http://www.youtube.com/watch?v=WiR4o6TsqyM&feature=channel_video_title
スライダーをドラッグすると、フレームがときどきカクカクすることに注意してください。
スケーリング時のスムージングを削除することで、画像をズームインしたときのパフォーマンスを改善しましたが、それでも思ったほど速くはありません。
私のコードは以下の通りです:
マルチレイヤー tiff を JAI を使用して imageDecoder にロードし、スライダーをドラッグしたときに正しいレイヤーを表示するために、次のコードを使用します。
基本的に、スライダーがドラッグされるたびに、imageStack からレンダリングされたイメージを抽出し、それを BufferedImage に変換して (ImageIcon で使用できるように)、スケーリングして、表示イメージとして設定します。遅い部分は、バッファリングされた画像に変換してスケーリングしていると思います。これをより速く行う方法はありますか?
物事を改善する方法についての提案や、同様の経験からの洞察はありますか?
どんな助けでも大歓迎です。
java - カラーヒストグラムベースの画像検索
Java のカラー ヒストグラムに基づいて画像を比較する必要があります。JavaのJAIを使用して作成した画像のヒストグラムがあります。
しかし、ヒストグラムを使用してそれらを比較する方法がわかりません。
java - BufferedImageとJAIを使用してファイルからTIFF画像を読み取る
BufferedImageを使用してファイルからTIFF画像を読み取ろうとしています。以下は私のコードです:
しかし、それは機能していません。ファイルが正しく読み取られたかどうかをテストするためだけに、testInputというメソッドがあります。
それらの3つは常に「false」を返し、上記のコードは常に「何かがうまくいかなかった!」を返します。プラグインにJAIImageIOを追加して、TIFF画像を読み取りました。何が問題だと思われるか考えてみてください。
java - ColorConvertOpのより高速な代替
タイプがTYPE_CUSTOMであるBufferedImagesをTYPE_INT_RGBに変換するメソッドがあります。私は次のコードを使用していますが、これを行うためのより高速な方法を本当に見つけたいと思います。
それはうまく機能しますが、それはかなり遅いので、この変換を行うためのより速い方法があるかどうか疑問に思っています。
変換前のカラーモデル:
変換後のカラーモデル:
ありがとう!
アップデート:
生のピクセルデータで作業することが最良の方法であることが判明しました。TYPE_CUSTOMは実際にはRGB変換であったため、手動で変換するのは簡単で、ColorConvertOpよりも約95%高速です。
java - JavaでのAndroid画像編集/ワープ?
うまくいけば、これがあまりにも曖昧にならないように...しかし、私は多くの画像スケーリングを扱っており、私が取り組んでいて知りたいと思っていたアプリで操作しています:
Javaコードを使用して画像をワープすることは可能/実行可能ですか?もしそうなら、それは可能ですか? JAI について読んだことがありますが、よく理解できていないようです。Android 2.3 以降で動作する組み込み実装の形式はありますか?
誰かが遭遇した可能性のあるチュートリアルや例は、私がしばらく研究していて、何の根拠も得られないように見えるので、大きな助けになるでしょう.
最終目標: 複数の場所で画像をワープ (ピクセル単位でポイント ツー ポイント) し、ビットマップを保存できるようにすること。これは舞台裏で処理され、ユーザーに最終結果が表示されます。