問題タブ [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 に答える
1809 参照

.net - WPF 不透明度マスク

次のように、LinearGradientBrush を使用して WPF で不透明マスクを作成できます。

これにより、ブラシの範囲全体で透明度ゼロから完全な透明度までのブラシが得られます。

しかし、さまざまなレベルの透過性を与えるために使用される 16 進コードは何ですか? たとえば、ブラシを 75% の透明度で開始し、ブラシの範囲の 100% に移動したいとします。

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

silverlight - ボーダー上の Silverlight 動的背景 (グラデーションを使用)

私はかなり経験豊富な .NET デスクトップ開発者ですが、Silverlight は初めてです。iOS アプリケーションを Silverlight アプリに変換しようとしています。

このアプリは基本的に、データベースから取得したデータを使用して作成されたアイテムのリストです。このデータには、前景色と背景色の情報だけでなく、多数のラベル テキストが含まれています。各オブジェクトは、独自のユーザー コントロールです。これは、内部に Grid を持つ Border コントロール (背景色と丸みを帯びたエッジ用) で構成されます。すべてのラベル コントロール (TextBlocks) はグリッド内にあります。

これらの色の値 (前景と背景) はそれぞれ、コンマで区切られた文字列 (つまり、"{r},{g},{b}") としてデータベースから取得されます。

そのため、これらの値をコードで実際の色オブジェクトに変換します。次に、ラベルの前景プロパティをこの色に設定します。

このすべて (ラベル テキストの割り当てと前景色) は非常にうまく機能しています。機能していないのは、背景色を線形グラデーション ブラシに変換することです。現在、データベースの色を「ベース」カラーとして使用し、この色から 4 色のグラデーションを計算しています。(数値は重要ではありませんが、RGB 値をベース カラーの 1.4、1.2、0.8、および 0.6 に調整します)。

カスタム線形グラデーション ブラシを作成するコードは次のとおりです。

実行時にこれを組み込む方法のコードは次のとおりです。

デザイン時に XAML で背景グラデーションを手動で設定すると、正しく表示されます。コードビハインドから実行しようとすると、バックグラウンドがまったくないように見えます。(ページ全体の背景が白の場合、ユーザー コントロールの色も白になります。黒の場合、黒です。そのため、ユーザー コントロールの背景が透明になってしまうようです。)

これをデバッグしようとして、バックグラウンド割り当てに次のコードを追加しました。

すべてのメッセージ ボックスの結果は期待どおりですが、それでも背景のグラデーションは得られません。誰が何が起こっているのか知っていますか?

ありがとう!

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

c# - LinearGradientBrush のラッピングを防止/制御するにはどうすればよいですか?

LinearGradientBrush に問題があります。今がその時間(ここでは午前 1 時 43 分)なのか、それとも他の理由で私が愚かなのかはわかりませんが、これは本当に私を悩ませています。

次のコードがあります。

それでも、test.png次のようになります。

ここに画像の説明を入力

お分かりいただけると思いますが、これは望ましい結果ではありませんでした。だいぶ下に落ち始めて巻き戻ったように見えますが、上下のアノマリーの大きさが違います。

これを前に見た人はいますか?それは簡単な修正ですか?

いくつかのメモ:

  • グーグルは、私がこの問題を抱えている可能性があることを示唆しています.Bob Powellは、塗りつぶしを塗りつぶす領域よりもわずかに大きくすることで修正できると示唆しています. これはうまくいきませんでした。
  • MSDNは、私が持っているものとは別のことを話しているLinearGradientBrushようです。StartPoint私にはまたはEndPointプロパティがありません。
0 投票する
0 に答える
332 参照

silverlight - Silverlight の透明な GradientStop は完全に透明ではありません

Silverlight で単純なグラフィカル オブジェクトのスタイルを設定しています。このオブジェクトは、白いテキストが付いた赤い四角形として表示されます。マウスが四角形の上に置かれると、テキストが部分的にしか見えないように、赤から透明にフェードするオーバーレイ四角形を表示したいと思います。私の問題は、私が使用している LinearGradientBrush が赤から透明になるのではなく、赤からある種の半透明の白になることです! 次のように問題を再現しました。

この場合、透過色定数を使用したにもかかわらず、グリッドの上部が下部よりわずかに明るいことが簡単にわかります。#00FFFFFF を使用しても結果は同じですが、#00xxxxxx (xxxxxx は任意の色の RGB コード) を使用すると、上の長方形の色相が色に応じて変化します! コードの最初の 2 桁はアルファ チャネルを表すべきではありませんか? 「00」が完全な透明性を意味しないのはなぜですか? どんなヒントでも大歓迎です。

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

c# - LinearGradientBrushに不透明度を適用します

次のように定義されたLinearGradientBrushがあります。これをxamlのどこかで使用したいのですが、この特定の場合に不透明度を変更したいと思います(この場合のみ、使用するすべての場所ではありません)。これを達成する方法はありますか?

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

c# - グラデーション上の特定の場所の色を取得する

私は次のものを持っていますGradientStopCollection

特定の「場所」で色を取得できますか? 例えば:

  • ロケーション 0: 赤
  • 場所 .5: 黄色
  • ロケーション .75:Yellow<~>Green

WPFそれを行うことができる/いくつかのサードパーティライブラリにAPIがありますか?

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

windows-phone-7 - 背景にグラデーション ブラシを使用するとフリンジが発生する

電話ページの背景にグラデーション ブラシを使用していますが、滑らかなグラデーションが得られず、代わりに背景にカラー フリンジが発生します。フリンジの幅は約 16 ピクセルです。私は単に使用しています。

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

wpf - WPF3DでのLinearGradientBrushテクスチャの絶対スケーリング

私は次のXAMLを持っています:

私が欲しいのは、グラデーションの半分だけを使用することです(テクスチャ座標は0から0.5までしか移動しないため)。残念ながら、は、LinearGradientBrush使用されているテクスチャ座標に関係なく、ジオメトリを塗りつぶすためにストレッチしています。

TileBrushを使用して派生ブラシでこれを修正できますがViewportUnits="Absolute"、を修正する方法がわかりませんLinearGradientBrush。何か案は?

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

c# - LinearGradientBrush の色のバインド (単純な棒グラフの ItemsControl)

編集: ブラシに変換した16進値(文字列)があったため、次のように色を正常に取得できませんでした:

残っている唯一の問題は、スケーリング (色) です。

私のカラーバーは(もう一度)透明に見えますが、各バーに適切な色が付けられています。また、プログラムの起動時に、6 つのバーすべてが表示されます (ただし、まだ値がないため、表示されません)。 コード:

ここに画像の説明を入力

バーの中央/端にある透明な色のフェードを正確に取り除くにはどうすればよいですか?

2 番目のオフセットに同じ色を追加しようとすると、全長バー (100%) が表示され、スケーリングが再び無効になります。


シンプルな棒グラフを表す DateTemplate を持つ次の ItemsControl があります。

問題は、チャート コントロールのバーの色を実際に表示することです。

以下が表示されます。 グラデーション ブラシ

代わりにGradientBrusha を使用してバーを作成する前に。RectangleGradientBrush を使用して、バーをスケーリングできるようにしました ( ValueBinding 1.0 から 0 の間の値を持つリストを返すため、スケーリングされます)。長方形を使用すると、スタックし、返された 1.0 - 0 の値に従ってバーをスケーリングする方法がありませんでした。

の古いコードRectangle:


Fill Binding で Rectangle を使用すると、チャートは次のようになります (そうあるべきです) Binding

矩形


LinearGradientBrush上の図に示されている色 (色の 16 進値を保持する配列) をどのように塗りつぶすのですか? 色の順番はそのままです。

または、これが不可能な場合、実際に長方形でそれをどのようにやってのけるのですか? 長方形を使用した他のソリューションがある場合は、それを再度実装できます。

よろしくピーターP。

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

wpf - 線の外側にグラデーションストップがある LinearGradientBrush

私のWPFアプリケーションでsoundcloud.comで使用されているような波形を描画しようとしています複数の垂直線を描画することでこれを行っています

私が望むのは、すべての線が同じ色の遷移を持つことです(したがって、水平方向のすべてのピクセルが同じ色になります)すべての線の長さが同じであるとは限らないため、各線は線の終わりに異なる色を持ちます.

LinearGradientBrush には多くのコンストラクターがあり、私のニーズに最も適しているのは LinearGradientBrush(GradientStopCollection, Point, Point) のようです。

LinearGradientContstructor に関する MSDN の記事

これらのポイントを使用すると、描画された線の外側に GradientStops を設定できるようです

ポイントの使い方がわからないのが難点。

ポイント-0.5、-0.5のグラデーションは、描かれた線とは異なる角度を持っていないように見えるため、ポイントが2次元座標である理由に困惑しています

したがって、「メインの 100% グラデーション」に対してポイントを配置する方法を理解する必要があります。

または、より簡単な方法は、線を単色で描画し、その後、何らかの色選択を使用して、黒いピクセルを背景として長方形のグラデーションに置き換えることです。