問題タブ [custom-draw]
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.
c# - MS Chart でカーソル ハンドルをカスタム描画する方法
下の画像に示すように、カーソルハンドルをカスタム描画できるかどうか教えてもらえますか (これに適した言葉が思い浮かびません)。赤丸で囲ってみました。
水色の逆三角形をチャートの両端の間で左右にドラッグすると、カーソルを移動できます。上の画像で使用されているコントロールが MSChart であるかどうかはわかりませんが、MS チャートでそれを行うことができるかどうか疑問に思っています。私が抱えている問題は、カーソルの正確な位置を見つけることです。これは、カーソルがチャート エリアに対してのみ相対的であり、描画したいハンドルがチャート エリアの外側にあるためです。チャート エリアの位置を外部座標に変換するにはどうすればよいですか?
ご協力いただきありがとうございます。
android - Path を使わずに Canvas で塗りつぶし領域を描画する方法はありますか?
クラスを使用せずに Android キャンバスで塗りつぶされた領域 (塗りつぶされたポリゴンなど) を描画する方法があるかどうか疑問に思っています。Path
canvas.drawPath(...)
私がこれを使わずにやりたい理由Path
は、非常に大きなデータセットを描画する必要がcanvas.drawPath(...)
あり、ハードウェアで高速化されていないため遅くなるためです。
ハードウェアアクセラレーションにより、使用時のパフォーマンスcanvas.drawLines(...)
ははるかに優れていますが、このアプローチを使用して塗りつぶされたポリゴンを描画する方法が見つかりませんでした (線がすべて接続されている場合でも)。
を使用すると、呼び出してもpaint.setStyle(Style.FILL)
ポリゴンが塗りつぶされませんでしたdrawLines(...)
。
Path
アプローチを使用せずに塗りつぶされたポリゴンを描画する方法はありますか?
または、を使用してパフォーマンスを向上させる他の方法はありますCanvas
か?
listview - Win32 ListView から派生したカスタム ウィンドウ クラスを記述するときに、カスタム (サブ) アイテム描画を使用する最良の方法
リストビューでカスタム (サブ) アイテム描画を実装する通常の方法は、親クラスで NM_CUSTOMDRAW 通知を処理し、そこで描画を行うことです。
ただし、私は再利用可能なリストビュー派生ウィンドウ クラスを作成しており、インスタンス化されたウィンドウが使用されているすべての場所でユーザーに通知を強制的に反映させる必要がないようにしたいと考えています。
これを行う2つの代替方法を知っていますが、どちらにも欠点があります
1: 2 つのカスタム ウィンドウ クラスを登録します。1 つはリストビューから派生し、もう 1 つはクラスをインスタンス化するものによって使用されます。2 番目のクラスは、カスタム リストビューを子ウィンドウとして作成し、すべての通知をインターセプトしてから、これらを反映するか、親に転送します。欠点は次のとおりです。外側のコントロールに送信されたすべての外部メッセージを内側のコントロールに転送するか、カスタム ウィンドウ メッセージを介して内側のコントロールを公開する必要があります (リストビューのヘッダー コントロールにアクセスする方法と同様です)。すべての通知もその親に転送する必要があります。
2: コントロールは親ウィンドウをサブクラス化し、その段階で WM_NOTIFY メッセージをインターセプトできます。欠点: これは悪い考えであり、非常に脆弱な方法でもあります。
別の方法: 3. 引き続き通知の反映を要求します。
完全なカスタム描画を実行する以外に、カスタム描画について通知を受けるより良い方法はありますか、または完全なカスタム描画を実行してデフォルトの描画を最初にトリガーし、その後カスタム データを表示する列の内容をペイントする方法はありますか?
java - Jface TableColumn ヘッダーをカスタム描画できますか?
列に OwnerDrawCellLabelProvider を割り当てることで、オーナー描画を使用して JFace テーブルをプログラミングしています。テーブルの本体の外観には満足していますが、テーブル ヘッダーの外観も調整したいと考えています。
各列のヘッダーの描画方法にアクセスできる API の方法はありますか? 最初のテーブルのヘッダーとして機能する 2 つ目のカスタム描画テーブルをいつでも作成できますが、それは少しばかげているように思えます。
listview - Win32 ListView: 行全体に色付きの進行状況バーを表示する
ListView の行全体に色付きのプログレス バーを作成したいと考えています。私はここからアイデアを取ります:
上の画像では、進行状況バーに色を付けていますが、単一セルのみです。私が望むのは、同じように考えることですが、完全な行です。
これが私がやったことです:
思ったほどではなかった :)CDDS_ITEM | CDDS_POSTPAINT
ケースを描いてみました。コード:
期待される結果は、たとえば、行Item 8
でpercent = 0.5
、行の先頭から 3 番目の列の間まで塗りつぶされた四角形であり、行の残りの部分は別の色です。
どうすればそれを達成できますか?選択された/フォーカスされた/非アクティブな行に別の色を描画する必要があることはわかっていますが、それで問題ありません。
編集:
上の画像(2番目の画像)は、上記のコードで取得したものです。
私が欲しいものをデモ:
winapi - この場合は制御できません CDDS_ITEMPREPAINT| CDDS_SUBITEM:
いくつかの条件でツリー ビュー アイテムとその子の色を変更するために NM_CUSTOMDRAW を使用しています。CDDS_SUBITEM 私のコード スニペットはここにあります:
}
これは親ノードに色を付けますが、子ノード(サブアイテム)はデフォルト(黒)のままで、CDRF_NOTIFYSUBITEMDRAWが機能しませんでした。助けてください!!!
android - Android Canvas が画面サイズを超えて描画しない
私のアプリには、ユーザーが写真をキャプチャし、その写真に描画を追加できる機能があります。
すべての写真のサイズが正確に変更されます900 x 900
。ユーザーが画像に描画を追加できるようにします。透明な画像の上にtransparent image
重ねて描画します。original image
描画は を使用して行われcanvas
ます。
720 x 480
ただし、 (高さ×幅)を持つデバイスで描画する場合。900 x 900
透明な画像を作成してから まで線を引く0,0
と900,900
、キャンバスは から までの線のみを描画0,0
し480,480
ます。
以下は、コードのそれぞれの部分です。
キャンバスの準備:
描画線:
なぜこの問題が発生しているのかわかりません。canvas
??を使用しているためです。回避策はありますか?どんな助けでも大歓迎です:-)