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

wpf - WPF:Alphaを使用したLinearGradientBrushがポップアップコントロールで機能しませんか?

カスタムのWPFドロップダウンメニューを作成したいので、ToggleButtonとPopupコントロールを含むUserコントロールを作成しました。ボタンをクリックするとポップアップが表示されます。ポップアップのメニュー項目にマウスホバー効果を追加したいのですが、LinearGradientBrushがアルファチャネルで機能していません。

GradientBrushをこれに設定すると、すべてが正常に機能します。

しかし、アルファチャネルはすべてを壊しているようで、私が見ているのは黒い長方形です。...何か案が?

MenuItemsをMenuコンテナー内に配置すると、Menuがスタイルをオーバーライドします...

前もって感謝します!

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

wpf - データ トリガーを使用して線形ブラシをアニメーション化する

データ トリガーを使用して境界線上の線形ブラシをアニメーション化しようとしていますが、TargetName を使用できないという問題に遭遇しました。

私のコードは次のとおりです。誰かがこれを解決する方法を提案できますか?

ありがとう

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

c# - プロパティを使用して lineargradientbrush の色をバインドする

グラデーションストップの色に問題があります。色 (System.Windows.Media) を返すプロパティにオフセット カラーをバインドしたいが、動作せず、デフォルト カラーの透明を返す。前景ラベルと同じプロパティをバインドしている場合。このスタイルは ResourceDictionary にあります。

そしてそれは働いています:

私の財産は:

皆さん回答ありがとうございます

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

wpf - wpf でボタンの背景スタイルを設定する

ボタンが 1 つあり、ボタンの背景スタイルをLinearGradientBrushで設定します。すべて正常に動作しますが、ボタンを実行してボタンをクリックすると、グラデーションカラーがアニメーションのビットでobボタンを表示しますが、ボタンの背景スタイルのアニメーションには何も書いていません。

ここに私の完全なコードがあります

ユーザーがボタンをクリックすると、ボタンでグラデーションアニメーションが開始されないようにしたい。私を導いてください。ありがとう

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

c# - c# GDI+ メモリ不足例外


はじめに:平面上の点 (x, y) のセットと関数 F(x, y) を double で返します。ポイントは、ユーザー定義の長方形でランダムに生成されます (変数に対する制約を意味します)。生成された点の数を N としましょう。このセットは三角形分割 (ドロネー三角形分割) されています。この三角形分割が関数 F(x, y) の曲面の近似を設定すると想像してください。エッジの値は直線的に変化します (つまり、ポイント (x, y, z = F(x, y)) 間の範囲にすぎません)。頂点は補間の頂点です。したがって、補間平面として三角形自体があります。
標準に三角形分割を描きます。 PictureBox. エッジは を使用して描画されますLinearGradientBrush- 色は値 F(x, y) のレベルを反映します (茶色 - 最大値、水色 - 最小値、緑 - 中間)。N >= M を設定するまではすべて機能します。ここで、M は時々 ~30k から 50k まで変化します。これらの場合、メモリ不足の例外が発生します。また、タスク マネージャーで動作メモリの不足は見られませんが、ビデオ メモリを指していると思いますね。
色のグラデーションを使用せずに N = 100k で三角形分割を描画できるため (単純な単色の単色エッジのみ)、問題はLinearGradientBrushGDI オブジェクトの使用または作成、PenおよびLinearGradientBrushすべての反復にあると思います。
いくつかのコード:


例: n = 10k , n = 100k (x86 としてビルド) , n = 200k (x86 としてビルド)
質問:問題は何ですか?どうすれば解決できますか?
解決策として別の描画ツール (OpenGL やその他の強力なツールなど) を提案しないでください。ただし、質問への解説として書きたいだけの場合は、覚えておきます。将来役立つかもしれません。この質問は、広い意味でグラデーション エッジを使用して三角形分割を描画する方法に関するものではなく、私の場合の例外のルートは何ですか。

UPD : プログラムは x64 でビルドされました。x86 では 200k を描画し (より高い N は試していません)、問題ないようです。しばらくして 300k が減少し、約 1.8 GB が割り当てられました。

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

.net - ハードカラートランジション (グラデーションと同様) を持つ .NET ブラシ

以下に示すように、ある色から次の色へのハードトランジションを行う単一のブラシが必要です。別のコントロールの Fill Brush を提供しているので、単一の Brush オブジェクトが必要です。

私が欲しいもの:

http://mechgt.com/dump/sample.png

私はLinearGradientBrushいくつかの方法を試しましたが (一例として以下を参照)、強引な方法はありません。トランジションはまだグラデーションであり、線はぼやけています。

私が得るもの:

http://mechgt.com/dump/sample2.png

これを行う単一のブラシを定義するにはどうすればよいですか?

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

xaml - システム カラーを LinearGradientBrush にアタッチする

私のアプリケーションでは、システム カラーの s を持つフェード ラインを作成したいと思います。次のようにGradientStopしようとしています。

しかし、プロジェクトをコンパイルしようとすると、次のエラーが発生します。

これを修正するにはどうすればよいですか?

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

wpf - templatebinding背景色WPFに基づいてコンテンツテンプレートのlineargradientオフセットカラーを変更する

わかりましたので、ここに問題があります。これを機能させる方法を見つけようとしています:

カスタム ボタンを作成するには、次の ControlTemplate を検討してください。

このコントロール テンプレートはこのスクリプトの一部を形成し、ご覧のとおり、メイン グリッドで概説されているボタン宣言から背景色を取得しようとしています。

さて、主な質問はこれです..

質問 1: templatebinding を使用して背景色を取得しないボタンの ControlTemplate でエラー コメントがマークされている行が表示されるのはなぜですか? 無地を使用していれば問題なく機能していたので、この方法で機能しない理由はわかりません. また、その理由を教えてください。

以下はまだ少し不明確であり、それらが問題に関連しているかどうかはわかりません。誰かがそれらをクリアできれば、それは素晴らしいことです.

質問 2: これら 2 つの TargetType 値 "Button" と "{x:Type Button}" の違いは何ですか。それらが同等のタイプであることは知っていますが、2つに違いはありますか? MSDN を読みましたが、実際の違いはそれほど明確ではありません。

質問 3: いつ x:Name を使用し、いつ Name を使用しますか? 違いはまた不明です。

質問 4: x:Static は何をしますか?

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

wpf - 両端に固定幅のグラデーションがあるLinearGradientBrush

LinearGradientBrushを使用して、キャンバス上の長方形の範囲をグラデーションで塗りつぶしたいと思います。キャッチは、長方形がいくら大きくても、グラデーションが長方形の両側で同じように表示されるようにすることです。

私が描いているのは次のようなものです。

http://imgur.com/B5efn7c

これが私の最初の試みです:

正しくありません。長方形が大きいほど、グラデーションが広く表示されます。

http://imgur.com/CRnXPdV

MappingModeをAbsoluteに設定しようとしましたが、それも機能しません。

これは私に次のようなものを与えます:

http://imgur.com/EBuxP7D

これはかなり離れています。助言がありますか?

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

wpf - XAML LinearGradientBrush のオフセットから色を読み取る方法は?

aLinearGradientBrushが次のように定義されているとします。

その定義を使用して、何も表示せずに 0.13 や 0.82 などの特定のオフセットで表される色を決定するには何が必要ですか?

これは、次のようなプロトタイプを持つ関数の形式を取ります。

関数本体には何が必要ですか? 私は完成したコードを探しているわけではありません (ただし、それを拒否するつもりはありません!) 使用するデータ構造とシステム コールに関するいくつかのアイデアです。