問題タブ [java-2d]

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.

0 投票する
3 に答える
327 参照

java - Java2DとServletOutputStreamの使用は予測できませんか?

このコードが行うことを効果的に実行している本番環境のコードがいくつかあります。

http://java.sun.com/products/java-media/2D/reference/faqs/index.html#Q_Can_I_use_Java2D_to_generate_d

これは問題なく動作しますが、動作に関する問題に気づきました。

サーブレットが要求され、一部の画像データがServletOutputStreamを介してブラウザに返される場合、画像が画面に表示される前に別の要求がトリガーされると、次のトレースでJaguarサーバー全体が必ずクラッシュします。

私がやろうとしていることは信頼できないと言っているいくつかの参考文献をオンラインで見つけました。

http://forums.sun.com/thread.jspa?trange=15&threadID=560000&forumID=20&tstart=0

ただし、正直なところ、EDTとは何かはわかりません。

誰かがこの問題に遭遇し、その回避策を作成することができましたか?

0 投票する
6 に答える
10133 参照

java - Java 2D:ポイントPを別のポイントに特定の距離近づけますか?

Point2D.Double x の距離を別の Point2D.Double に近づける最善の方法は何ですか?

編集: 編集しようとしましたが、メンテナンスのためにダウンしました。いいえ、これは宿題ではありません

飛行機 (A) を滑走路 (C) の端に向かって移動させ、正しい方向 (角度 a) に向ける必要があります。

代替テキスト http://img246.imageshack.us/img246/9707/planec.png

これが私がこれまでに持っているものですが、面倒なようです。このようなことをする通常の方法は何ですか?

三角形のクラスは、http://pastebin.com/RtCB2kSZにあります。

飛行機は滑走路ポイントの周りの任意の位置にある可能性があることを念頭に置いてください

0 投票する
3 に答える
9110 参照

java - Java2D でハードウェア アクセラレーション イメージを作成するにはどうすればよいですか?

多くの 2D 変換とシェイプ レンダリングを行う高速なイメージ ジェネレーターを作成しようとしているので、BufferedImage を使用してから、Graphics2D オブジェクトを取得してすべての描画を実行しようとしています。私の主な関心事は、作成が非常に高速であるため、次のような BufferedImage を作成することです。

しかし、もしそうなら:

-Dsun.java2d.opengl=True で JVM を起動しても、出力は常にfalseで、次の行が出力されます。

最終的に ImageIO.write(bImage, "PNG", file); で PNG ファイルに保存したいので、BufferedImage を実行しています。

高速化されていると言う VolatileImage を作成できますが、保存しようとすると ImageIO が気に入らず、そのイメージを RenderedImage にキャストできないと言います。ディスクに保存できる高速化されたイメージを取得する方法についてのアイデアはありますか? また、画像が非常に大きく、メモリ不足の問題が発生するため、保存するために VolatileImage と BufferedImage へのコピーを作成したくありません...

0 投票する
1 に答える
1064 参照

java - Swing / Java2D 統計および可視化ライブラリ

さまざまな統計をレンダリングできる多面的な Java2D / Swing 視覚化ライブラリを探しています。具体的には、タイムライン プロット (構成可能なスクロールおよび圧縮タイムラインと、タイムラインに沿った特定のポイントでイベントをグラフ化する機能を備えたもの)、折れ線グラフ、円グラフなどを探していますが、現在使用または推奨されている、それはクールだろう、乾杯 :) 重要なのは高性能であり、おそらく既存のデータセットや Esper などのイベント システムに接続する機能です。

コミュニティが回答として投稿した内容で、この投稿を継続的に更新します。

0 投票する
3 に答える
833 参照

java - サイズ変更された画像の品質が低下します

Java2DGraphicsクラスを使用して画像のサイズを変更しました。しかし、それは正しく見えません。

アーティファクトを導入せずに画像を拡大縮小することは可能ですか?

0 投票する
1 に答える
1977 参照

java - カスタムJComponentがカスタムJPanelに表示されない

add()メソッドを試しましたが、GraphicsTestにTestを追加しようとすると何も表示されません。どのように追加すればよいですか?誰か見せてもらえますか?使用しているコードを含めました。

これは私のやり方であり、機能していません。誰かが私に見せたり、問題が実際に何であるかを私に知らせてもらえますか?

他のクラスは次のとおりです。

0 投票する
2 に答える
496 参照

java - 楕円ブラシの画像を作成するアルゴリズム?

間隔、硬さ、丸み、角度、直径などの楕円形の (計算された) ブラシ パラメーターを受け入れ、それらの属性に基づいてビットマップ イメージを計算できるようにする必要があります。

これを行うためのアルゴリズム(またはどこで見つけることができるか)を知っている人はいますか? 私はグラフィックス プログラミングの経験が限られており、これまで見つけることができませんでした。

0 投票する
3 に答える
63255 参照

java - setOpaque(true / false); Java

Java2DでsetOpaqueを使用すると、trueとfalseが何をするのか少し混乱します。

たとえば、Swing Opaqueでは、Swingをペイントするときに、コンポーネントの背後にあるものをペイントしないことを意味します。それともこれは逆ですか?どちらですか?

ありがとう

0 投票する
3 に答える
838 参照

java - Javaで画像ピクセルをボトムアップ順に保存するための最良の方法

Windows BMP 形式の画像を表すバイト配列があり、ピクセル データをコピーせずBufferedImageに、ライブラリがそれを Java アプリケーションに として表示するようにしたいと考えています。

主な問題は、JDK の のすべての実装がRasterイメージ ピクセルを上から下、左から右の順序で格納するのに対し、BMP ピクセル データは下から上、左から右の順序で格納されることです。これが補正されない場合、結果の画像は垂直方向に反転します。

最も明白な「解決策」は、SampleModelscanlineStrideプロパティを負の値に設定し、バンド オフセット (またはDataBufferの配列オフセット) を左上のピクセル、つまり配列の最後の行の最初のピクセルを指すように変更することです。 . SampleModel残念ながら、負のscanlineStride引数を指定するとすべてのコンストラクターが例外をスローするため、これは機能しません。

現在、リフレクションを使用してフィールドを負の値に強制することで回避していscanlineStrideますが、可能であれば、よりクリーンで移植性の高い方法で実行したいと考えています。たとえば、カプセル化を壊さずに、ピクセルをボトムアップの順序で配置するRasterまたはをだます別の方法はありますか? または、ピクセル行を逆順に表示するandSampleModelをラップするライブラリがどこかにありますか?RasterSampleModel

次のアプローチは避けたいと思います。

  • 画像全体をコピーする (パフォーマンス上の理由から。コードは 1 秒間に何百もの大きな (>= 1M ピクセル) 画像を処理する必要があり、アプリケーションは画像全体を利用できる必要がありますが、通常は小さな (しかし予測が難しい) 画像のみにアクセスします) ) 画像の一部です。)
  • を変更しDataBufferて座標変換を実行します (これは実際には機能しますが、バッファーはスキャンライン/ピクセル レイアウトについて知る必要がないため、別の「汚い」ソリューションです)。
  • Rasterおよび/またはインターフェースを最初から再実装するSampleModel(互換性チェックが (少なくとも Sun JDK で) 実装されているため、特定のサブクラスが必要なSampleModelため、一般的なBottomUpSampleModelラッパー クラスは機能しません。)
0 投票する
2 に答える
1769 参照

java - JPanel レイアウト画像の切り取り

JPanel に画像を追加していますが、画像が途切れています。私はもともと BorderLayout を試していましたが、それは 1 つの画像に対してのみ機能し、他の画像を追加すると画像のカットオフが追加されました。だから私は他のレイアウトに切り替えました.私が得ることができる最良かつ最も近いものはBoxLayoutでしたが、それは受け入れられない非常に大きなカットオフを追加します.

だから基本的に; コードに存在するような悪影響を与えることなく、(カスタム JComponent から) 画像をカスタム JPanel に追加するにはどうすればよいですか。

カスタム JPanel:

メインクラス:

カスタム JComponent