問題タブ [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.
.net - WPF 不透明度マスク
次のように、LinearGradientBrush を使用して WPF で不透明マスクを作成できます。
これにより、ブラシの範囲全体で透明度ゼロから完全な透明度までのブラシが得られます。
しかし、さまざまなレベルの透過性を与えるために使用される 16 進コードは何ですか? たとえば、ブラシを 75% の透明度で開始し、ブラシの範囲の 100% に移動したいとします。
silverlight - ボーダー上の Silverlight 動的背景 (グラデーションを使用)
私はかなり経験豊富な .NET デスクトップ開発者ですが、Silverlight は初めてです。iOS アプリケーションを Silverlight アプリに変換しようとしています。
このアプリは基本的に、データベースから取得したデータを使用して作成されたアイテムのリストです。このデータには、前景色と背景色の情報だけでなく、多数のラベル テキストが含まれています。各オブジェクトは、独自のユーザー コントロールです。これは、内部に Grid を持つ Border コントロール (背景色と丸みを帯びたエッジ用) で構成されます。すべてのラベル コントロール (TextBlocks) はグリッド内にあります。
これらの色の値 (前景と背景) はそれぞれ、コンマで区切られた文字列 (つまり、"{r},{g},{b}") としてデータベースから取得されます。
そのため、これらの値をコードで実際の色オブジェクトに変換します。次に、ラベルの前景プロパティをこの色に設定します。
このすべて (ラベル テキストの割り当てと前景色) は非常にうまく機能しています。機能していないのは、背景色を線形グラデーション ブラシに変換することです。現在、データベースの色を「ベース」カラーとして使用し、この色から 4 色のグラデーションを計算しています。(数値は重要ではありませんが、RGB 値をベース カラーの 1.4、1.2、0.8、および 0.6 に調整します)。
カスタム線形グラデーション ブラシを作成するコードは次のとおりです。
実行時にこれを組み込む方法のコードは次のとおりです。
デザイン時に XAML で背景グラデーションを手動で設定すると、正しく表示されます。コードビハインドから実行しようとすると、バックグラウンドがまったくないように見えます。(ページ全体の背景が白の場合、ユーザー コントロールの色も白になります。黒の場合、黒です。そのため、ユーザー コントロールの背景が透明になってしまうようです。)
これをデバッグしようとして、バックグラウンド割り当てに次のコードを追加しました。
すべてのメッセージ ボックスの結果は期待どおりですが、それでも背景のグラデーションは得られません。誰が何が起こっているのか知っていますか?
ありがとう!
c# - LinearGradientBrush のラッピングを防止/制御するにはどうすればよいですか?
LinearGradientBrush に問題があります。今がその時間(ここでは午前 1 時 43 分)なのか、それとも他の理由で私が愚かなのかはわかりませんが、これは本当に私を悩ませています。
次のコードがあります。
それでも、test.png
次のようになります。
お分かりいただけると思いますが、これは望ましい結果ではありませんでした。だいぶ下に落ち始めて巻き戻ったように見えますが、上下のアノマリーの大きさが違います。
これを前に見た人はいますか?それは簡単な修正ですか?
いくつかのメモ:
silverlight - Silverlight の透明な GradientStop は完全に透明ではありません
Silverlight で単純なグラフィカル オブジェクトのスタイルを設定しています。このオブジェクトは、白いテキストが付いた赤い四角形として表示されます。マウスが四角形の上に置かれると、テキストが部分的にしか見えないように、赤から透明にフェードするオーバーレイ四角形を表示したいと思います。私の問題は、私が使用している LinearGradientBrush が赤から透明になるのではなく、赤からある種の半透明の白になることです! 次のように問題を再現しました。
この場合、透過色定数を使用したにもかかわらず、グリッドの上部が下部よりわずかに明るいことが簡単にわかります。#00FFFFFF を使用しても結果は同じですが、#00xxxxxx (xxxxxx は任意の色の RGB コード) を使用すると、上の長方形の色相が色に応じて変化します! コードの最初の 2 桁はアルファ チャネルを表すべきではありませんか? 「00」が完全な透明性を意味しないのはなぜですか? どんなヒントでも大歓迎です。
c# - LinearGradientBrushに不透明度を適用します
次のように定義されたLinearGradientBrushがあります。これをxamlのどこかで使用したいのですが、この特定の場合に不透明度を変更したいと思います(この場合のみ、使用するすべての場所ではありません)。これを達成する方法はありますか?
c# - グラデーション上の特定の場所の色を取得する
私は次のものを持っていますGradientStopCollection
:
特定の「場所」で色を取得できますか? 例えば:
- ロケーション 0: 赤
- 場所 .5: 黄色
- ロケーション .75:
Yellow<~>Green
WPF
それを行うことができる/いくつかのサードパーティライブラリにAPIがありますか?
windows-phone-7 - 背景にグラデーション ブラシを使用するとフリンジが発生する
電話ページの背景にグラデーション ブラシを使用していますが、滑らかなグラデーションが得られず、代わりに背景にカラー フリンジが発生します。フリンジの幅は約 16 ピクセルです。私は単に使用しています。
wpf - WPF3DでのLinearGradientBrushテクスチャの絶対スケーリング
私は次のXAMLを持っています:
私が欲しいのは、グラデーションの半分だけを使用することです(テクスチャ座標は0から0.5までしか移動しないため)。残念ながら、は、LinearGradientBrush
使用されているテクスチャ座標に関係なく、ジオメトリを塗りつぶすためにストレッチしています。
TileBrush
を使用して派生ブラシでこれを修正できますがViewportUnits="Absolute"
、を修正する方法がわかりませんLinearGradientBrush
。何か案は?
c# - LinearGradientBrush の色のバインド (単純な棒グラフの ItemsControl)
編集: ブラシに変換した16進値(文字列)があったため、次のように色を正常に取得できませんでした:
残っている唯一の問題は、スケーリング (色) です。
私のカラーバーは(もう一度)透明に見えますが、各バーに適切な色が付けられています。また、プログラムの起動時に、6 つのバーすべてが表示されます (ただし、まだ値がないため、表示されません)。 コード:
バーの中央/端にある透明な色のフェードを正確に取り除くにはどうすればよいですか?
2 番目のオフセットに同じ色を追加しようとすると、全長バー (100%) が表示され、スケーリングが再び無効になります。
シンプルな棒グラフを表す DateTemplate を持つ次の ItemsControl があります。
問題は、チャート コントロールのバーの色を実際に表示することです。
以下が表示されます。
代わりにGradientBrush
a を使用してバーを作成する前に。Rectangle
GradientBrush を使用して、バーをスケーリングできるようにしました ( ValueBinding
は1.0 から 0 の間の値を持つリストを返すため、スケーリングされます)。長方形を使用すると、スタックし、返された 1.0 - 0 の値に従ってバーをスケーリングする方法がありませんでした。
の古いコードRectangle
:
Fill Binding で Rectangle を使用すると、チャートは次のようになります (そうあるべきです) Binding
。
LinearGradientBrush
上の図に示されている色 (色の 16 進値を保持する配列) をどのように塗りつぶすのですか? 色の順番はそのままです。
または、これが不可能な場合、実際に長方形でそれをどのようにやってのけるのですか? 長方形を使用した他のソリューションがある場合は、それを再度実装できます。
よろしくピーターP。
wpf - 線の外側にグラデーションストップがある LinearGradientBrush
私のWPFアプリケーションでsoundcloud.comで使用されているような波形を描画しようとしています複数の垂直線を描画することでこれを行っています
私が望むのは、すべての線が同じ色の遷移を持つことです(したがって、水平方向のすべてのピクセルが同じ色になります)すべての線の長さが同じであるとは限らないため、各線は線の終わりに異なる色を持ちます.
LinearGradientBrush には多くのコンストラクターがあり、私のニーズに最も適しているのは LinearGradientBrush(GradientStopCollection, Point, Point) のようです。
LinearGradientContstructor に関する MSDN の記事
これらのポイントを使用すると、描画された線の外側に GradientStops を設定できるようです
ポイントの使い方がわからないのが難点。
ポイント-0.5、-0.5のグラデーションは、描かれた線とは異なる角度を持っていないように見えるため、ポイントが2次元座標である理由に困惑しています
したがって、「メインの 100% グラデーション」に対してポイントを配置する方法を理解する必要があります。
または、より簡単な方法は、線を単色で描画し、その後、何らかの色選択を使用して、黒いピクセルを背景として長方形のグラデーションに置き換えることです。