いつもお世話になっております。
Labelコントロールの背景をグラデーションにしたいと思い、Paintメソッドにてオーナードローしようかと考えております。
対象となるLabelのサイズは45*45です。
そこで、白→青→白といった風に、2段階のグラデーションをかけたいのですが、方法がわかりません…。
オーナードロー自体勉強し始めたばかりで、とりあえずどうなるのか確認のため、下記のように書いてみました。
※Label_Paintメソッド内を抜粋
Dim gb As New LinearGradientBrush( _
New Rectangle(0, 0, CInt(g.VisibleClipBounds.Width), CInt(g.VisibleClipBounds.Height / 2)), _
Color.White, _
Color.Blue, _
LinearGradientMode.Vertical)
自分の思惑では、とりあえず半分までグラデーションが描画されると考えたのですが、白→青のグラデーションが2重に描画されてしまいました。(白→青→白→青)
ちなみに、描画したいLabelは大量(50個程度)ある為、画像を表示させる…等は用いたくありません。
考え方が根本的に間違っているのかもしれませんが…
どうかご教授願います。
No.1ベストアンサー
- 回答日時:
LinearGradientBrushを2個用意しましょう
dim gb1, gb2 as LinearGradientBrush
dim rc1, rc2 as Rectangle
dim lb as label = CType( sender, Label)
rc1 = lb.ClientRectangle
rc2 = rc1
rc1.Height /= 2
rc2.y /= 2
rc2.Height /= 2
gb1 = new LinearGradientBrush( rc1, Color.White, Color.Blue, LinearGradientMode.Vertical)
gb2 = new LinearGradientBrush( rc2, Color.Blue, Color.White, LinearGradientMode.Vertical)
e.Graphics.FillRectangle( gb1, rc1 )
e.Graphics.FillRectangle( gb2, rc2 )
といった具合です
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- スピーカー・コンポ・ステレオ ワード。オブジェクトの上に半円を描くには。 2 2022/10/06 13:02
- Word(ワード) ワード。図形の書式設定について。 3 2022/09/19 16:36
- その他(クラウドサービス・オンラインストレージ) Canva(キャンバ サムネイル作るサイト)での加工について(人物だけ、光沢感あるグラデーション) 1 2023/04/01 22:09
- HTML・CSS CSSが効かずどのように指定すれば良いか分からないのでアドバイスお願い致します 2 2023/06/07 12:25
- プリンタ・スキャナー テプラ(PCからプリント)で先端に余白を作りたい 2 2023/03/21 13:38
- クラフト・工作 グラデーションの毛糸を使ってセーターを編みたいなと思ってるんですが、家にあるのが例えば白〜青など、1 1 2023/01/13 20:43
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- JavaScript アップロードファイルの種類によって処理を分岐させたいのですが書き方が分からずアドバイスお願いします 4 2023/06/17 19:12
- PHP 掲示板を作成しておりアップロードファイルとメッセージを並べたいので、アドバイスお願い致します 2 2023/07/17 21:01
- PHP アップロード画像数でCSSを分けることに成功したのですが、画像の横に文字を並べることが出来ません。 3 2023/07/28 17:16
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Androidで画像の中で指定した範...
-
SwingのpaintComponent(...
-
GDI+で描画した画像を消去する...
-
画面のちらつきの原因が知りた...
-
Java、jPanelに描画する
-
getGraphics()の意味を教えて...
-
Canvas等の図形を移動する時,直...
-
C# リストビューの特定のセルの...
-
JAVAでの背景画像表示
-
エクセルVBAで、条件に一致する...
-
「タイプ初期化子が例外をスロ...
-
オブジェクト指向プログラミン...
-
生成したインスタンスを削除す...
-
変数名の付け方
-
servletからjspへオブジェクト...
-
レコード件数の表示
-
複数の変数を宣言する時、同時...
-
private static という変数の修飾
-
インスタンス参照でアクセスで...
-
String.containsの反対機能はあ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VB.NET フォーム上に描いたグ...
-
VB.NETのSendMessageを教えてく...
-
JAVAでの背景画像表示
-
C# DataGridView のCellPaintin...
-
C# リストビューの特定のセルの...
-
重なった要素上でのイベントで...
-
画面のちらつきの原因が知りた...
-
Androidで画像の中で指定した範...
-
複数画像表示切り替え Visual c++
-
Labelコントロールの背景をグラ...
-
VS Treeview のデザイン変更
-
描画処理が実行されない
-
GDI+で描画した画像を消去する...
-
canvasで表示されてる画像を1...
-
このプログラミングをどう組み...
-
ドラッグして矩形を描くには
-
getGraphics()の意味を教えて...
-
DirectXのスプライト機能で3D回転
-
Canvas等の図形を移動する時,直...
-
Exception occurred during eve...
おすすめ情報