問題タブ [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 に答える
3516 参照

java - 回転とスケーリング-両方を実行して正しい結果を得るにはどうすればよいですか?

グラフィックスコンテキストでベクトルを描画する一連のJava2D呼び出しがあります。画像のサイズを2倍にしてから、90度回転させたいのですが。

私はこれを行うために次のコードを使用しています:

これは回転してスケーリングしますが、スケールが希望どおりに適用されていません。拡大縮小する前に回転しているように見えるため、画像が間違った軸で広くなります。

これを行うためのより良い方法はありますか?

0 投票する
4 に答える
690 参照

java - 単純な Java2D アプリケーションでの恐ろしいパフォーマンス

昨日、第 14 回 Ludum Dare 48 時間ゲーム作成コンテストへのエントリーを終えたばかりで 、グラフィックに java2d を使用して Java で行うことにしました。

私は API に精通しておらず、多くのグラフィックス プログラミングも行っていませんが、私のゲームは非常に小さい (12 個程度の非常に小さな移動オブジェクトのみ) ため、素朴にプログラムできると思っていましたが、それでもパフォーマンスは発生しませんでした。問題。

言うまでもなく、私は間違っていました。ゲームはほとんどの場合問題なく動作しますが、画面上を動き回る「敵」が多すぎるか、解像度が高くなりすぎると、目に見えて遅くなり始めます.

パフォーマンスのボトルネックは画面描画機能であると判断しました。それらをコメントアウトすると、ゲームは非常に高速になります。

ここで私が間違っている可能性があることについて、誰かが私に注意を向けることができますか? (非常に短い) ソース コードはここにあり、そのほとんどはMainクラスであり、通常は内部ゲーム ループで呼び出されるdraw()関数が疑われます。

私はすでにBufferStrategyを使用して画面を更新しているので、間違っていない限り問題にはなりません。

前もってありがとう、イド。

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

java - 2D画像をX、Y、またはZ軸の周りに回転させて、Javaで3D画像のようにするにはどうすればよいですか?

自分が持っている2D画像の効果を実現したいのですが、たとえば平面のように少し傾いていて、画像を軸Yを中心に回転できるようにしたいです。 **

0 投票する
4 に答える
4119 参照

java - Java2D:スケーリングの問題

私はかなり経験豊富なJavaプログラマーですが、Java2Dには比較的慣れていません。画像を拡大縮小しようとしていますが、品質の悪い結果が得られています。画像はパネルのプレビューであるため、テキストやテキストフィールドなどが含まれています。私は常にスケールダウンしますが、アップすることはありません。

現在、私は次のコードを使用しています:-

ここで、panelImageはフルサイズのプレビュー(BufferedImage)であり、scaledWidthとscaledHeightはそれぞれのターゲットディメンションです。テキストやテキストフィールドなどのエッジの詳細がかなり失われているようです。

画像を拡大縮小するために使用する必要があるより良い呼び出しはありますか?

ありがとう、ジョン

0 投票する
5 に答える
1465 参照

java - 簡単なグラフィックスプログラミングの成果?

私は現在、Java2D でタイルベースのゲームに取り組んでおり、安価な目の保養を追加することを考えていました。

たとえば、爆発や煙のための単純なパーティクル システム (おそらくこのようなもの) を実装します。

新しいアートを大量に (またはまったく) 描画する必要のない、比較的簡単にプログラムできる効果について何か提案はありますか?

上記のエフェクトのチュートリアルとコード サンプルも大歓迎です。

-そうです。

追伸 - 絶対に必要な場合は、LWJGL/JOGL や Slick などに切り替えることもできますが、Java2D にとどまります。

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

java - java2dテキストライブラリを知っている人はいますか?

これは、テキストに関してゲームで必要なものです。

今、私は TextLayout の使用方法について読んでおり、これをすべて自分で書くことは可能だと思われますが、より高いレベルで考えたいと思います。次のようなシグネチャを持つ Label クラスが必要です。

テキストの書式設定を簡単にするオープン ソース (非 gpl) ライブラリを知っている人はいますか?

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

java - Java2D でフォントのカーニング情報にアクセスする

少し背景..

JavaLWJGLを使用して OpenGL ゲームを作成中です。TextRendererキャッシュされたグリフのページを使用してテキストをレンダリングするクラスを作成しました。グリフ自体は Java2D で にレンダリングされBufferedImage、グリフ測定値とともにテクスチャ ページにパックされます。TextRendererキャッシュされた情報を使用して、テクスチャ付きのクワッドとしてキャラクターを描画します。

これはすべてうまく機能しますが、カーニングの欠落という 1 つの点を除きます。確かに、テキストはそのままできれいに見えるので必要ではありませんが、フォントのカーニング情報にアクセスできれば、品質が向上します。

そして質問は..

Windows、Linux、および MacOS X 間で移植可能な方法で、プレーンな Java を使用してカーニング情報を取得することは可能ですか? 私が書いたとき、TextRenderer私は簡単に周りを見回しましたが、そのような方法を見つけることができませんでした..

考えられる解決策の 1 つ

純粋な Java でこれを行う方法がない場合は、Freetypeを使用して別のツールを作成することを考えていました。機能ページに記載されているとおり:

FreeType 2 は、カーニング距離、グリフ名、垂直メトリックなど、他の同様のフォント エンジンでは得られない情報を提供します。

このツールは、一般的な文字のカーニング ペアを、テキスト レンダラーが読み込んで使用するファイルに保存します。ですから、皆さんがより良い代替案を思いつかない場合、これはおそらく私がすることです. :)

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

java - Java 作成アナグリフ (赤/青の画像)

私は Java ゲーム エンジン ( http://victoryengine.org ) を作成しており、赤/青のメガネで見ることができる奥行きのある「3D」画像を生成する実験を行っています。グラフィックには Java2D を使用しています。

機能するものを作成しましたが、非常に遅いです(ピクセル値などを手動でコピーすることにより)。

私が必要とするのは、2 つの BufferedImages (左目用、右目用) を取り、それらを 1 つに結合することです (別のバッファーまたは画面に直接)。1 つは赤のチャンネル、もう 1 つは緑と青のチャンネルです。これを行う最速の方法は何ですか?