問題タブ [paint]
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 の再描画が正しく機能しない
Java repaint method を使用すると再描画されますが、キャンバスをクリックするかパネルのサイズを変更したときにのみ更新が表示されます。どうすればこれを修正できますか? 何が原因ですか?
layout - SWT の更新 / 再描画 / レイアウトの問題
多くの人がこの問題を経験していることは知っていますが、私がオンラインで見つけた解決策は私のものを解決していないようです. 3 つのボタンを持つコンポジットがあります。私が欲しいのは次のとおりです: 1 つのボタンをクリックすると、他のボタンをグレー表示 ( setEnabled(false) ) し、しばらくすると (メソッドの実行後)、ボタンを再び有効にしたいと考えています。
このような問題の多くは、親コンテナーで layout() メソッドを呼び出すことによって解決されます。または、これと非常によく似た問題は、Display.getCurrent().update(); を呼び出すことによって解決されます。
簡単に言えば、私のコードは次のように要約できます。
何が起こるかというと、widgetSelected() メソッドの最後に到達するとボタンが無効になります。ただし、ラベルは問題なく頻繁に更新されます (label.update() メソッドが存在しない場合でも)。
追加情報: たとえば、ボタンを無効にしてから Thread.sleep() を配置してからボタンを有効にします。最初にスリープし、すぐにボタンを無効にしてから有効にします。したがって、そのようなペイント要求はすべてキューに入れられ、実行の最後に処理されると思います。
役立つ情報:表示が変更された直後に MessageBox を作成して表示すると、表示が変更されることに気付きました。したがって、widgetSelected メソッドで次の変更を行うと:
widgetSelected() メソッドが呼び出されるとすぐに、ボタンはグレー表示されます。これは、私の解決策が Display.getCurrent() メソッド内にあると信じさせます。しかし、私は試しました
メソッドとそれらは私の問題を解決しませんでした。
ありがとう、エゲ
.net - C# オブジェクトの前に描画する方法は?
他のすべての上にあるはずの文字列をどのように描画しますか? 現在、私のパネルには、Panel1.Controls にいくつかのユーザー コントロールがあります。だから私はこれを Paint メソッドに追加しました:
問題は、テキストがユーザー コントロールの背後に印刷されるため、表示されないことです。(開いているテキストの位置を変更すると、正しく表示されます)。
何か案は?
.net - Outlook: ペイントの問題なしで SetParent(_form.Handle, Outlook.Handle) する方法は?
Outlook のトップ レベルのウィンドウ ハンドルをアドインの [設定] フォームの親に設定したいと考えています (そのため、一番上に表示され、Outlook にとどまります)。
他の Office アプリで SetParent を使用すると問題なく動作しますが、Outlook ではレンダリング エラーが発生します。Outlook が親である場合、フォームは正しく再描画されません (そのため、フォームをドラッグしたり、クリックして元に戻したりすると、Outlook の他の部分がその上に描画されます)。
私が行う無効化は無視されます。
誰か良い解決策を知っていますか?ありがとう!
編集:追加したいフォームは.Netフォームであり、問題の一部である可能性があります。
java - JavaのGraphicsまたはGraphics2Dクラスを使用して、文字列をペイントするにはどうすればよいですか?
を持っていて、String
それを画像にペイントしたいと思います。ポイントをペイントして線を描くことはできますが、2Dグラフィックスチュートリアルのテキスト部分を読んだ後でも、どうすればString
それを描画にペイントできるかわかりません。
間違ったチュートリアルを見ている場合を除いて(ただし、Javaについて何かを検索し、Graphics
またはを使用して文字列をペイントするたびに取得するチュートリアルGraphics2D
です)、私はまだ困惑しています。
java - Swingでリペイントを組み合わせる方法は?
リスナーから何度もリペイントを呼び出していますが、ペイント関数を設計した方法は、1回のリペイントで済みます。マウスモーションリスナーに接続されているため、大量の再描画を生成します。
特定のコンポーネントの保留中のすべての再描画をキャンセルする方法はありますか?フレームのサイズを変更したり、最小化から復元したりする場合のように有効なものもあるため、再描画を無視し始めることはできません。
なぜ気にするのですか?私のペイントコードは非常に重く、非常に高いFPSでは完全な再ペイントを行うことができないためです。
user-interface - 親マネージャーにフォーカスがある場合、ListField 内の LabelField テキストに色を付けるにはどうすればよいですか?
ListField 内の項目を抑制すべきか、現在抑制すべきかに基づいてフォントの色を変更できるオーバーライドされた LabelField があります。LabelField の色を落ち着かせるとうまくいきます。しかし、(LabelField を含む) 行が ListField で強調表示されている場合、ラベル フィールドの色を異なる色または反転させたいと思います。
これが私のコードです:
public class MyLabelField extends LabelField{
}
このサンプルでは、MyLabelField を灰色で描画したいと考えていますが、含まれている ListField 行にフォーカスがある場合は、デフォルトで色を LabelField ペイントにして白にする必要があります。
私のコードのテストに基づいて、親行にフォーカスがある場合、LabelField はフォーカスを取得しないようです。私のコードのどこかで変更が必要なのかもしれません...
java - Javaでペイントするための「反転」クリップ領域を持つ方法はありますか?
Graphics.fillRoundRect() を使用して領域を塗りつぶしたいのですが、その中央にある四角形を塗りつぶしたくないのです。
基本的に、100x30 のコンポーネントが与えられた場合、クリッピングをサイズ 80x10 の 10,10 の長方形に設定したいのですが、その 80x10 の長方形の外側の領域のみを塗りつぶします。その理由は、内側のコンポーネント領域に影響を与えずに、曲線の輪郭が描かれた n ピクセルの境界線が必要だからです。
これまでのところ、10,10 90x10 にクリップし、fillRoundRect() を実行してから、90,10 10x10 にクリップし、fillRect() を実行して、コーナーの上下の右側を埋めるのが最善の方法です。
単一の線の長方形を単純に再描画すると、曲線が完全に隣接しないため(および/またはAAが周囲のピクセルに影響するため)、コーナーに「斑点」ができます。
編集: 警告 - J2ME AWT (CDC with Personal Profile 1.1) および J2SE で動作する方法が必要です。
編集:別の同様の質問には、私が適応できた答えがあります。私の状況で正しく機能するコードは、自己回答として投稿されています。
.net - XP では Windows フォームが繰り返しペイントされるが、Vista ではそうではない
アプリケーションの問題を解決しようとしています。私は Vista でアプリケーションを開発しており、そこでは問題なく動作しますが、XP に移行すると、フォームが遅くなり、応答しなくなります。ブレークポイントを使用して Windows メッセージを見ると、XP ではフォームが約 1 秒に 1 回繰り返し描画されていることがわかります (実際にはそうする必要はありませんが)。ただし、Vista での同じテストでは、この繰り返しの描画は示されません。
これを引き起こしている可能性のあるものについてのアイデアはありますか?
simulation - ペイントのシミュレーションにはどのライブラリ、データ、アルゴリズムがありますか?
キャンバスにブラシストロークを追加して色を混ぜ合わせることができるように、キャンバスに油絵の具とアクリル絵の具をモデル化したいと思います。
これをアニメートしたくはありません。既存のペイントでブラシストロークの最終的な結果をモデル化できるようにしたいだけです。
助言がありますか?