問題タブ [graphics2d]
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 - 複数の Graphics2D オブジェクト
JPanel の Graphics オブジェクトがあり、正常に動作しています。
新しい Graphics コンポーネントを試していましたが、新しい Test をインスタンス化して GraphicsTest に追加しても何も起こりません。私が間違っているのは何ですか?
ありがとう!
java - JavaでPath2Dの長さを計算するには?
Path2D で表されるパスがいくつかあります。パスは、互いに接続された複数の CubicCurve2D または Line2D セグメントで構成されます。パスの始点から終点までの長さを計算または取得したいと考えています。どのように計算または取得できますか?出来ますか?API ドキュメントを確認しましたが、有用なメソッドが見つかりませんでした。
java - 座標に別の象限を使用してJPanelを描画するにはどうすればよいですか?
をオーバーライドして、JPanelにいくつかの形状を描画したいと思いますpaintComponent
。パンとズームができるようにしたいと思います。パンとズームは、オブジェクトAffineTransform
のsetTransform
メソッドで簡単に実行できます。Graphics2D
その後、簡単に図形を描画できますg2.draw(myShape)
。図形は「ワールド座標」で定義されているため、パンするときに正常に機能し、描画する前にキャンバス/JPanel座標に変換する必要があります。
次に、座標の象限を変更したいと思います。JPanelとコンピューターがよく使用する第4象限から、ユーザーが最もよく知っている第1象限まで。Xは同じですが、Y軸は下向きではなく上向きに増加する必要があります。によってオリゴを再定義するのは簡単ですnew Point(origo.x, -origo.y);
しかし、どうすればこの象限に図形を描くことができますか?キャンバスの座標ではなく、シェイプの座標(ワールド座標で定義)を保持したいと思います。ですから、何らかの方法でそれらを変換するか、オブジェクトを変換する必要があり、それを効率的Graphics2D
に実行したいと思います。私もこれを行うことができますか?AffineTransform
描画するための私のコード:
java - Javaクロスワードアプリケーション-どのパッケージを使用しますか?
Javaクロスワードアプリケーションを作成しようとしていますが、クロスワードグリッドを描画するために使用するパッケージがわかりません。Graphics2Dなどを使用して手動でグリッドを描画できることは知っていますが、グリッドの正方形にテキストフィールドが必要になるため、これが最も簡単な方法かどうかはわかりません。
クロスワードグリッドの作成については、誰でも提案があります。
java - Java Graphics2D DrawString
ここで少し問題があります。文字列を描いているパネルがあります。これはゲームなので、スコアを更新するためにスコアを再描画し続けます。しかし、もう一度描画すると、前のスコアの上に描画されるため、文字化けして見えます。これを修正する方法はありますか?
comp2d.drawString(GetScore(スコア),ScoreX,ScoreY);
java - Graphics2D を使用して BufferedImage にテキストをオーバーレイし、BufferedImage を返す
同様の名前の質問を確認しましたが、このユース ケースには回答していません。
基本的に、特定の座標 (x、y) にテキスト (テキスト) をオーバーレイする必要がありました。パッケージには以下の関数があります。
明らかに明らかな何かが欠けているように感じます。私が見つけることができるGraphics2Dへのすべての参照は、ゲームを扱っているか、ファイルに直接書き込んでいますが、BufferedImageを返したいだけです。オーバーレイが「レンダリング」された状態
現在のコードでは、画像は変更されずに最後まで表示されます。
ありがとう!
java - Java/Swing を使用して画像を回転し、原点を 0,0 に設定するにはどうすればよいですか?
JLabel に追加された画像を回転できます。唯一の問題は、高さと幅が等しくない場合、回転した画像が JLabel の原点 (0,0) に表示されなくなることです。
これが私がやっていることです。また、AffineTransform を使用して画像自体を回転させてみましたが、結果は同じでした。
幅が高さよりも大きい画像がある場合、この方法を使用してその画像を回転させてからペイントすると、画像はポイント 0,0 の上に垂直に、ポイント 0,0 の右側に水平にペイントされます。
java - Java: 画像形式の検出、サイズ変更 (スケーリング) および JPEG としての保存
これは私が持っているコードです。実際には機能しますが、完全ではありませんが、問題は、サイズ変更されたサムネイルが白い描画された長方形に貼り付けられず、画像の縦横比が壊れることです。これがコードです。誰かが私に修正を提案できますかお願いします?
ありがとうございました
java - せん断ではなく回転するように AffineTransform を設定するには?
Graphics2D で描画するときは、AffineTransform を使用します。描画する前に Shape を変換するために使用します。rx と ry は回転であると想定されていますが、描画するとき、形状は回転ではなく剪断されます。ローテーションを強制するにはどうすればよいですか? デフォルトのコンストラクターを使用してから、回転、スケーリング、および変換を呼び出してみましたが、形状は本来のようには見えませんでした。
java - java.awt.BufferdImage/Graphics2D でテキストの正しい高さを取得できません
指定されたテキストで jpg/png をレンダリングするサーブレットを作成しています。レンダリングされた画像の中央にテキストを配置したい。幅を取得できますが、取得している高さが間違っているようです
これらは私が得る値です: textwidth = 222 textheight = 504 ascent = 402 descent = 87 height = 503
「5」の正確な高さを取得する方法を知っている人はいますか? 推定身長は250前後