問題タブ [lineargradientbrush]

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 投票する
1 に答える
635 参照

xaml - Expression Blend UI で LinearGradient ブラシの StartPoint/EndPoint を変更する

とても簡単なことのように思えますが、ヘルプやオンラインで追跡できません。

XAML を変更して LinearGradient ブラシの StartPoint と EndPoint を設定する方法は知っていますが、Expression Blend で IDE を使用してそれを行う方法はわかりません。これを行うために使用するキーボード/マウス アクションを知っている人はいますか?

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

wpf - SVG -> WPF 線形グラデーション

LinearGradientBrush の WPF に SVG の「gradientUnits=userSpaceOnUse」の同等の属性があるかどうかは誰にもわかりませんか? 私はこれを見つけることができないようです。

そうでない場合、(C# または VB.NET) で計算する方法を知っている人はいますか? たとえば、100x100 の Rectangle で StartPoint が 0,0 で EndPoint が 1,1 の場合、角度は 45 度です。ただし、Rectangle の幅または高さを変更すると (たとえば、幅 = 150)、軸が 45 度ではなくなります。正方形ではない長方形で角度を 45 度に保つように計算して、中央のグラデーションストップの左下から右上隅まで走るようにするにはどうすればよいでしょうか。

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

c# - C#でLinearGradientBrushを使用して正確なグラデーションをペイントするには?

GDI を使用して C# でこのオブジェクトをペイントしていますが、正確なピクセル ペイントが必要です。ただし、これは機能していません...問題があるかどうかはわかりませんが、ペイントしているオブジェクトはToolStripです。カスタムToolStripレンダリングを行っています。

y ピクセル 1 に青い水平線を描き、y ピクセル 2 に黄色の線を、y ピクセル 3 に赤い線を描きました。これらは実際の色ではありません。

このような:

それよりも、y ピクセル 4 で、次のように LinearGradientBrush で四角形を塗りつぶし始めました。

問題は、グラデーションが赤い線の上に描かれていることです。青と黄色の線は問題ありませんが、赤の線は RGB=255,0,0 のはずですが、実際には RGB=255,111,111 です。

理由がわかりません... SmoothingMode、InterpolationMode、CompositionMode、CompositionQuality でプレイしましたが、うまくできません...

アイデアはありますか?

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

vb.net - VB.Net フォームのグラデーションに基づくデータ グリッドの色コード行

異なる優先度でフラグが立てられた行を含むグリッドがあります。優先度の高い行を赤、低い行を青などに色付けしたい.

特定の優先順位に色を任意に割り当てるのではなく、数学的に計算されたグラデーションに基づいて色合いを設定したいと思います。グラデーションに沿って単一の点から単一の色を抽出するにはどうすればよいですか?

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

silverlight - Silverlightでlistboxitemの背景にグラデーションブラシを設定できますか?

リストボックスアイテムの背景としてgradientbrushを設定する方法を探しています。DataTemplateを定義し、グラデーションブラシを指定しましたが、常にリストボックスの背景として表示されます(つまり、グラデーションブラシとして表示されることはありません)。

リストボックス自体の背景を設定することができ、「セッター」オブジェクトを使用してリストボックスアイテムの背景を標準色に設定できます。しかし、これらはどれも私が求めているものではありません。

各リストアイテムの背景をグラデーションブラシにしたいのですが。

以下は私が作成したデータテンプレートです。

何かご意見は?

0 投票する
0 に答える
723 参照

silverlight - Silverlight 3 の絶対 GradientStops を使用した LinearGradientBrush の OpacityMask

私の質問はこれに似ています

ただし、不透明マスクに LinearGradientBrush を使用しているため、そのスレッドの答えはうまくいきません。

私は3行のグリッドを持っています:

グリッドのコンテンツは、グリッドの上部と下部 (1 行目と 3 行目) で半透明にする必要があります。

不透明度を調整できないため、クリッピングを使用できないことを理解しています。したがって、不透明マスクを使用する必要があると思います。これらは画像またはブラシをコンテンツとして受け取りますが、後者の方がこの問題には適していますが、GradientBrush のオフセットをグリッド行の高さの絶対値に設定する方法の問題が生じます。

また、MVVM パターンを使用しています。オフセットは FrameworkElement から派生していないため、バインドは機能しません。私が今見ることができる唯一の解決策は、完全なブラシをビューモデルにバインドし、グリッドのサイズが変更されるたびに調整することです。あまり良くありません。よりエレガントなソリューションはありますか?

私がやりたいことは、このようなものです(RowDefinitionsとコンテンツはスキップされました)

擬似コード:

コンテンツが 3 つの行にまたがっているため、グリッドなどを分割することはできません。DrawingBrush はそれをうまく解決すると思いますが、それは SL の家に住んでいるわけではありません。

Silverlight3 を使用しています。

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

c# - GDI+ LinearGradientBrush の色を変更するには?

いくつかの小さな垂直グラデーションを (ループで) 記述する必要があるため、既存の LinearGradientBrush を再利用する方が速いと思います (正しいですか?)

しかし、これは私が期待したことではありません...

では、上記のコードにエラーがあるのでしょうか、ループで複数の垂直グラデーションを取得するより良い方法でしょうか、または LinearGradientBrush の色を変更する別の方法でしょうか?

ありがとう :)

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

wpf - WPFでLinearGradientBrushをアニメーション化することは可能ですか?

LinearGradientBrush の StartPoint または EndPoint をアニメーション化することは可能ですか? もしそうなら、ポイントをアニメーション化するために使用される Storyboard オブジェクトのタイプは何ですか?次を試してみると、「0,1」は Double の有効な値ではありません。タイプ。

現在のコード:

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

wpf - 一度に 2 つのオブジェクトにブラシを適用する

一度に 2 つ以上のオブジェクト (TextBlocks) にブラシ (この場合は LinearGradientBrush) を適用したいと思います。私が望む効果は次のようなものです:

代替テキスト

編集 両方のオブジェクトに同じブラシを単純に適用することはできません。これにより、両方のオブジェクトが赤く始まり青くなります (2 番目のブラシが紫の色合いで始まるのではなく)。

代替テキスト

私は何か簡単なものを見落としていると確信しています...

ありがとう、wTs

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

rotation - 回転したLinearGradientBrushを使用するときにGDI+で一貫したグラデーション塗りつぶしを取得するにはどうすればよいですか?

アプリケーションでGDI+を使用していますが、回転したLinearGradientBrushを使用して、まったく同じ方法で複数の四角形をペイントする必要があります。ただし、各rectを埋めるために同じコードを呼び出していますが、結果は期待したものではありません。グラデーション塗りつぶしを作成するコードは次のとおりです。ここで、rcDrawは、各四角形のペイントする領域を含む四角形です。これらの座標は親ウィンドウの座標にあるため、2つの四角形で同一ではありません。

g_hbrLinear = new LinearGradientBrush(Rect(0、rcDraw.top、0、rcDraw.bottom --rcDraw.top)、clrStart、clrEnd、(REAL)80、FALSE);

画面に表示される内容は次のようになります(http://www.nnanime.com/bugs/LinGradBrush-rotate10.png)。最初の長方形からの塗りつぶしが2番目の長方形に続くかのように見えることがわかります。私が本当に望んでいるのは、2つの長方形を同じように見せることです。独自のクライアント座標を使用して各rectを個別にペイントすればそれができると思いますが、アプリの目的のために、親ウィンドウの座標を使用する必要があります。

私が求めているのは、GDI+が塗りつぶしの「原点」をどのように計算するかということだと思います。使用する座標系の0,0に常に基づいていますか?それをシフトする方法はありますか?TranslateTransformを試しましたが、予測可能または理解可能な方法で塗りつぶしがシフトしていないようです。