問題タブ [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.

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

c++ - MFC ペインティング グリッチを修正する方法?

仕事で開発中のマテリアル システムにドラッグ アンド ドロップ機能を実装しようとしています。このシステムの一部には、ユーザーのハード ドライブに保存されたマテリアルのグループに分割されたリポジトリとして機能する「マテリアル ライブラリ」が含まれています。

UI の改良の一環として、「ハイライト」タイプの機能を実装したいと考えていました。ドラッグ アンド ドロップ時に、合法的にマテリアルをドロップできるウィンドウの色が非常に微妙に変化し、これが有効なアクションであるというユーザーへのフィードバックを改善します。

「基本マテリアル」(CStatic を使用した単なる CWnd) を含むバーを、ハイライトされていないときの中間の灰色の背景から、ホバーしたときの青色の背景に変更しています。すべてうまく機能し、OnDragEnter および OnDragExit メッセージは堅牢に見え、ハイライト ステータスを示すフラグを設定します。次に、OnCtrlColor でこれを行います。

ただし、スクリーンショットでわかるように、ドラッグされたオブジェクトの下でペイントが「グリッチ」し、元のグレーがそのまま残ります。それは本当に醜く見え、基本的に全体の効果を台無しにします.

これを回避する方法はありますか?

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

java - paint/paintComponent が生成する画像を取得するにはどうすればよいですか?

簡単な質問があります。JComponent.paint または paintComponent によって生成された画像を取得するにはどうすればよいですか?

「ワークスペース」として使用する JComponent があり、paintComponent メソッドを独自のものに上書きしました。問題は、私のワークスペース JComponent には、独自の paintComponent メソッドを持つ子もあるということです。

そのため、Swing がワークスペース コンポーネントをレンダリングすると、ワークスペース グラフィックスがレンダリングされ、次にその子がレンダリングされます。

ただし、ワークスペース コンポーネントが生成するイメージ (ワークスペース グラフィックスと子のグラフィックスを含む) を取得したいと考えています。

それ、どうやったら出来るの?

独自の Graphics を使用して paintComponent/paint-method を自分で呼び出そうとしましたが、黒い画像が返されました。これが私が試したことです。

ご意見やご感想は大歓迎です!:)

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

java - Mac OS X で AWT フレームの描画可能領域を取得しますか?

ウィンドウの内容全体を手動で描画したいので、メソッドをサブクラス化java.awt.Frameし、オーバーライドしました。paint()

ただし、グラフィックス オブジェクトでは、(0,0)は、最初の描画可能なピクセルではなく、タイトル バーの装飾のウィンドウの左上隅に対応します。

Mac OS X 固有のfudge factorを使用せずに、クロスプラットフォームの方法で最初の描画可能なピクセル (つまり、装飾の高さ) の座標を決定できますか? ウィンドウの実際の描画可能領域を見つけるために、 Panelコンポーネントをネストする必要がありますか?

ここで、私のコードは、ウィンドウのペイント可能領域内の青い正方形を中央に配置できません。

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

algorithm - グラフ軸の目盛りアルゴリズム

表示する範囲、表示する幅、目盛りの文字列幅を測定する関数を指定して、軸に目盛りを配置するアルゴリズムを探しています。

たとえば、1e-6から5e-6の間に表示する必要があり、ピクセル単位で表示する幅がある場合、アルゴリズムは、1e-6、2e-6、3e-6に(たとえば)目盛りを付ける必要があると判断します。 、4e-6、および5e-6。幅が狭い場合、最適な配置は偶数の位置、つまり2e-6と4e-6のみであると判断される場合があります(より多くの目盛りを付けるとオーバーラップするため)。

スマートアルゴリズムは、10、5、および2の倍数の目盛りを優先します。また、スマートアルゴリズムは、ゼロを中心に対称になります。

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

java - Javaアプレットを介してサーバーに画像ファイルを保存する方法は?

Java アプレットとして実行されるペイント アプリケーションがあります。キャンバスの内容をサーバー マシンに、通常は PNG の画像形式で保存する必要があります。助けてください!

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

delphi - カスタム TGraphicControl で 2 つのグラフィックを並べて StretchDraw するにはどうすればよいですか?

Delphi TGraphicControl ペイント プロシージャを作成しています。

キャンバスを作成し、それをグラフィック領域にストレッチドローします。それはうまくいきます。

次に、別の Stretchdraw でグラフィック領域にこれを繰り返しますが、最初の Stretchdraw の領域に描画され、指示したとおりにグラフィック領域には描画されません。

TGraphicControl のキャンバスに両方のストレッチドローを並べて配置する方法はありますか?

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

c# - PictureBox のサイズ変更とペイントの問題

Winform アプリでいくつかのグラフィックを表示したいのですが、これは株のチャート描画ツールになります。私は(しかし、よくわかりません...)私はPictureBoxを使用し、System.Drawing.Graphicsクラスの描画プリミティブを使用してグラフを描画する必要があると思います。コーディングを開始しましたが、多かれ少なかれ機能しますが、次のようにサイズ変更機能に問題があります。フォーム全体のサイズを変更すると、プログラムがグラフィックを表示し、すぐにクリアすることがわかります。マウスの動きを止めると (マウス ボタンを放さずに)、グラフィックが消える!?!?

バグのデモを行う小さなテスト環境を作成しました。VS2005 を使用して、新しい C# Windows フォーム アプリを作成し、PictureBox のみをフォームに追加しました。PictureBox のアンカーを左、上、右、および下に設定します。Resize を PictureBox に、Paint を Form に 2 つのイベント ハンドラーを追加します。

}

この小さなアプリは問題を示しています。楕円を描くだけですが、もちろん私の描画コードはもっと複雑です...

フォームのサイズを変更すると楕円が消える理由は何ですか????

0 投票する
10 に答える
114593 参照

c# - コントロールとその子の描画を一時停止するにはどうすればよいですか?

大きな変更を加える必要があるコントロールがあります。それをしている間、再描画を完全に防ぎたいと思います-SuspendLayoutとResumeLayoutは十分ではありません。コントロールとその子の描画を一時停止するにはどうすればよいですか?

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

.net - .NET: コントロールの一部のみをペイント (クリッピング) しますか?

WebBrowser コントロールを使用してタイムシート フォームをシミュレートする VB.NET プログラムがあります。データ入力のために、WebBrowser コントロールの上にある DateTimePicker コントロールを使用しています。これは、WebBrowser コントロールがクリックされたときに WebBrowser コントロールのテーブルのセルの上に移動するようにプログラムしました。(私が DataGridView を使用していない理由を知りたい場合は、書式設定のためです)

私の問題は、特にユーザーが WebBrowser をスクロールしているときに、DateTimePicker の上にあるものとして扱いたい WebBrowser (ヘッダー、スクロールバー) の部分があることです。私の考えは、DateTimePicker に四角形を提供して、その領域内にあるコントロールの部分のみを描画することです。残念ながら、私は .NET にほとんど慣れていません (ただし、一般的なプログラミングではありません)。半日かけてグーグルで検索した後でも、その方法がわかりません。

これを行う方法を知っている人はいますか?