问题标签 [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 中创建一个不透明蒙版,如下所示

这给了我一个从零透明度开始的画笔,在画笔范围内完全透明。

但是,哪些十六进制代码用于提供不同级别的透明度?例如,我想以 75% 的透明度开始画笔,然后转到画笔范围的 100%。

0 投票
1 回答
506 浏览

silverlight - 边框上的 Silverlight 动态背景(使用渐变)

我是一位经验丰富的 .NET 桌面开发人员,但我是 Silverlight 的新手。我正在尝试将 iOS 应用程序转换为 Silverlight 应用程序。

该应用程序基本上是使用从数据库中提取的数据构建的项目列表。该数据包括大量的标签文本以及前景色和背景色信息。每个对象都是它自己的用户控件。它由一个边界控件(用于背景颜色和圆角边缘)和一个内部网格组成。我所有的标签控件(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看起来像这样:

在此处输入图像描述

我敢肯定你会说,这不是预期的效果。它看起来像是开始向下并卷回,但顶部和底部的异常大小不同。

有人见过这个吗?这很容易解决吗?

一些注意事项:

  • 谷歌搜索表明我可能遇到了这个问题,鲍勃鲍威尔建议可以通过使填充略大于被填充的区域来解决这个问题。这没有用。
  • MSDN似乎在谈论与LinearGradientBrush我所拥有的不同的。我的没有StartPointEndPoint属性。
0 投票
0 回答
332 浏览

silverlight - Silverlight 中的透明 GradientStop 并不完全透明

我在 Silverlight 中设计了一个简单的图形对象,它显示为一个带有一些白色文本的红色矩形;当鼠标悬停在矩形上时,我想显示一个从红色渐变为透明的覆盖矩形,以便文本仅部分可见。我的问题是,我使用的 LinearGradientBrush 不会从红色变为透明,而是从红色变为某种半透明的白色!我已将问题重现如下:

在这种情况下,您可以很容易地看到网格的上半部分比下半部分略亮,即使我使用了透明颜色常数。如果我使用#00FFFFFF,结果是相同的,而如果我使用#00xxxxxx,其中xxxxxx是任何颜色的RGB代码,上方矩形的色调会根据颜色而变化!代码的前两位不应该代表阿尔法通道吗?为什么“00”不代表完全透明?任何提示表示赞赏。

0 投票
1 回答
4441 浏览

c# - 将不透明度应用于 LinearGradientBrush

我有一个 LinearGradientBrush 定义如下。我想在我的 xaml 中的某个地方使用它,但我想在这种特殊情况下更改不透明度(仅在这种情况下,而不是在我使用它的所有地方)。任何想法如何做到这一点?

0 投票
3 回答
7348 浏览

c# - 在渐变的特定位置获取颜色

我有以下内容GradientStopCollection

我可以在特定的“位置”获得颜色吗?例如:

  • 位置 0:红色
  • 位置 .5:黄色
  • 位置 0.75:Yellow<~>Green

WPF在/某些第三方库中是否有 API可以做到这一点?

0 投票
2 回答
605 浏览

windows-phone-7 - 当我使用渐变画笔作为背景时,我得到了条纹

我正在为电话页面背景使用渐变画笔,但我没有得到平滑的渐变,而是在背景中得到彩色边缘。边缘大约 16 像素宽。我只是在使用。

0 投票
2 回答
1241 浏览

wpf - 在 WPF 3D 中绝对缩放 LinearGradientBrush 纹理

我有以下 XAML:

想要的是只使用一半的渐变(因为我的纹理坐标只从 0 到 0.5)。不幸的LinearGradientBrush是,无论使用的纹理坐标如何,都会拉伸以填充几何图形。

您可以使用TileBrush派生画笔修复此问题ViewportUnits="Absolute",但我不知道如何为LinearGradientBrush. 有任何想法吗?

0 投票
1 回答
1547 浏览

c# - LinearGradientBrush 颜色绑定(简单条形图ItemsControl)

编辑: 我将十六进制值(字符串)转换为画笔,因此它没有采用我的颜色,如下所示:

剩下的唯一问题是缩放(带有颜色)。

我的彩条似乎是透明的(再次),但现在每个条都附加了正确的颜色。同样在我的程序启动时,所有 6 个条都显示(但它们不应该显示,因为它还没有任何价值)。 代码:

在此处输入图像描述

我究竟如何摆脱酒吧中间/末端的透明褪色?

当我尝试向第二个偏移添加相同的颜色时,我得到全长条(100%)并且缩放再次无效。


我有以下带有 DateTemplate 的 ItemsControl,它表示一个简单的条形图:

问题实际上是显示我的图表控件条的颜色。

将显示以下内容: 渐变画笔

GradientBrush我使用 aRectangle代替之前创建条形图。我使用了 GradientBrush,所以我可以缩放我的条形图(Binding Value返回一个值在 1.0 和 0 之间的列表,因此它们被缩放了)。对于一个矩形,我被卡住了,无法根据返回的 1.0 - 0 值缩放我的条形图。

旧代码Rectangle


当我使用带有填充绑定的矩形时,我的图表看起来像这样(就像它应该的那样):填充 Binding基本上返回一个包含十六进制值的列表来获取这些颜色。

长方形


如何LinearGradientBrush用上图中显示的颜色填充(保存颜色的十六进制值的数组)?颜色的顺序保持不变。

或者,如果这是不可能的,我该如何用矩形把它拉下来?如果有其他矩形解决方案,我可以再次实现。

最好的问候彼得P。

0 投票
1 回答
698 浏览

wpf - LinearGradientBrush 线外带有渐变点

我正在尝试在我的 WPF 应用程序中绘制类似于 soundcloud.com 上使用的波形我正在通过绘制多条垂直线来做到这一点

我想要的是所有线条都具有相同的颜色过渡(因此水平方向上所有像素都具有相同的颜色)因为并非所有线条都具有相同的长度,每条线条的末端都有不同的颜色。

LinearGradientBrush 有很多构造函数,最适合我需求的似乎是LinearGradientBrush(GradientStopCollection, Point, Point)。

Msdn 关于 LinearGradientContstructor 的文章

有了这些点,我似乎可以将 GradientStops 设置在画线之外

我的问题是我不知道如何使用积分。

我对为什么这些点是 2d 坐标感到困惑,因为点 -0.5,-0.5 的渐变似乎与绘制的线没有不同的角度

所以我需要了解如何相对于我的“主要 100% 渐变”放置点

或者也许更简单的方法是用纯色绘制线条,然后使用某种颜色选择将黑色像素替换为矩形渐变作为背景。