问题标签 [gradient]

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 投票
5 回答
45312 浏览

java - 以编程方式生成渐变?

给定 2 种 rgb 颜色和一个矩形区域,我想在颜色之间生成一个基本的线性渐变。我进行了快速搜索,唯一能找到的是这个博客条目,但是示例代码似乎丢失了,或者至少在这篇文章中是这样。任何有帮助的东西,算法,代码示例,等等。这将用Java编写,但是显示层已经处理好了,我只需要弄清楚如何弄清楚要显示什么。

0 投票
1 回答
301 浏览

image-manipulation - 有没有办法使用 GflAx 来合并渐变色?

好的,今天的狭隘问题。我正在使用GflAx(来自xnview)创建一些图形图块。不过,我也想加入一些渐变。

有没有办法在这个产品中做到这一点?

还有一个 SDK 是该产品的一部分,但我在那里找不到该信息。

0 投票
2 回答
2108 浏览

algorithm - 在图像中混合渐变填充角的算法

我需要在图像周围放置一个 alpha 混合渐变边框。我的问题是混合角落,使它们在水平和垂直渐变相遇的地方平滑。我相信有一个标准算法可以解决这个问题。我想我什至多年前在学校遇到过它。但是我在几次网络搜索中都没有找到对其中之一的任何引用。

(我已经在角落实现了径向填充图案,但过渡仍然不够平滑。)

我的问题

  1. 如果有解决这个问题的标准算法,它的名称是什么,更好的是,它是如何实现的?

  2. 放弃任何标准算法,确定所需像素值以在角落产生平滑渐变的最佳方法是什么?(从垂直渐变平滑过渡到水平渐变。)

编辑:所以想象我有一个图像,我将插入一个更大的图像之上。较大的图像是纯黑色,较小的图像是纯白色。在我插入之前,我想通过在较小的图像上设置 alpha 值来将较小的图像混合到较大的图像中,以在它周围创建一个透明的“边框”,使其“淡入”到较大的图像中。做得正确,我应该有一个从黑色到白色的平滑渐变,除了角落和内边缘外,我在任何地方都这样做。

在靠近图像中心的渐变边框边缘,该值将是 255(不透明)。当边界接近外边缘时,alpha 值接近 0。在图像的垂直和水平边界相交的角落,你最终会得到一条对角线。我想消除那条线并平稳过渡。

我需要的是一种算法,该算法确定水平和垂直边缘相遇时在图像角落重叠的每个像素的 alpha 值(0 - 255)。

0 投票
11 回答
87347 浏览

html - Internet Explorer 中的渐变颜色

我知道 Internet Explorer 有一些专有扩展,因此您可以执行诸如创建具有渐变背景的 div 之类的操作。我不记得元素名称或它的用法。有没有人有一些例子或链接?

0 投票
2 回答
1018 浏览

flash - 使用 Flash 显示 SVG 渐变?

我正在使用 AS3 (Flash)读取 SVG 文件显示它们。问题是正确显示线性/径向渐变。

以下是SVG 中从RedBlue的简单线性渐变示例。

我已经能够从渐变中读取颜色(stop 的样式),以及它们在渐变中的间距(stop 的偏移量)。

好的,所以现在我有了一个很好的渐变颜色正确,它们之间的空间量也恰到好处,但没有旋转或缩放,而且它的位置不正确!.

答案是将矩阵输入到 Flash 的渐变函数中。


方法 1:使用提供的矩阵

SVG提供的矩阵, gradientTransform="matrix(a,b,c,d,e,f)"似乎实际上没有用,因为当您将该矩阵输入 Flash 的beginGradientFill() 函数时,它会显示在形状上拉伸的渐变如此之多,以至于只有渐变的中心颜色可见,就像实心填充一样。


方法 2:使用 2 个梯度点生成矩阵

  • x1, y1标签可能是屏幕上渐变开始的点
  • x2、y2标签可能是屏幕上渐变结束的点。

当我说“2 个渐变点”时,我指的是 x1,y1 和 x2,y2,它们主要告诉您渐变在形状上的哪个位置开始和结束。

有一个Matrix.createGradientBox()函数,它创建一个用于渐变的矩阵,但参数与 SVG给我的参数非常不同。它想要:

  1. 宽度--- 这里使用了 2 个渐变点之间的相对距离(X 轴)
  2. 高度 --- 这里使用了 2 个渐变点之间的相对距离(Y 轴),但得到了不正确的结果--- 也尝试了这里使用2 个渐变点之间的距离,但我不知道在宽度中填充什么!
  3. 旋转角度——使用了 2 个渐变点的角度,以弧度为单位,结果不正确!
  4. 翻译 x -- 尝试了第一个梯度点的 X,也尝试了 0,结果不正确!
  5. 平移 y -- 尝试了第一个梯度点的 Y,也尝试了 0,但结果不正确!

我可以使用哪些 SVG 数据为 Flash 生成渐变矩阵?

(看看上面的 SVG 片段,这就是我描述渐变的所有数据)

0 投票
5 回答
2172 浏览

gradient - 仅使用 html 和 css 和 javascript 的渐变?

有没有办法在 css/html/javascript 中进行渐变,只适用于所有主要浏览器?(MS IE 5+、Firefox、Opera、Safari)?

编辑:我想为背景(标题、主面板、侧面板)执行此操作。另外,也希望有垂直线渐变。

编辑:阅读回复后,让我们也将其开放给 Javascript 解决方案,因为 HTML/CSS 本身使其更难实现。

0 投票
1 回答
684 浏览

svg - 可以在 SVG 中创建(或伪造)二维渐变吗?

我正在尝试创建一个必须动态生成其图像的颜色选择器,并认为生成 SVG 比生成光栅图像要容易得多。不幸的是,我不知道如何表示将形成选取器核心的大二维渐变。

例如,如果当前选择的轴是蓝色和绿色,我需要绘制一个正方形,它的左下角为黑色,左上角为蓝色,右下角为绿色,右上角为青色。

如果有办法通过覆盖两个linearGradient填充的正方形并使用它们的不透明度来实现这一点,我无法解决。我还尝试创建一个渐变,其起点和终点颜色是其他渐变(希望我很聪明),但我得到的只是“大黑什么都没有”。到目前为止,谷歌搜索让我一无所获。

我不想求助于一堆 256 个 1 像素高的渐变,这既是因为尺寸和复杂性的增加,也是因为我怀疑它不会很好地调整大小。也许对 SVG 有更多工作知识的人可以提出一些建议

0 投票
7 回答
175955 浏览

iphone - iPhone 上 UIView 和 UILabels 上的渐变

可能重复:
在 iPhone 应用程序中手动绘制渐变?

我的应用程序需要在 aUIView或中显示文本,UILabel但背景必须是渐变而不是 true UIColor。使用图形程序创建所需的外观并不好,因为文本可能会因服务器返回的数据而异。

有谁知道解决这个问题的最快方法?非常感谢您的想法。

0 投票
3 回答
4002 浏览

python - 使用reportlab在PDF文件中创建渐变填充

是否可以使用ReportLab (python)在 PDF 中创建渐变填充?

0 投票
1 回答
1945 浏览

silverlight - Silverlight - 默认渐变或效果 - 你如何关闭它?

如果您在 Silverlight 和 WPF 中使用此代码,您会得到稍微不同的结果吗?

在 Silverlight 中,您不会获得纯黑色按钮。你会得到一个垂直的白到黑渐变。你如何强制它成为纯色?

作为后续,他们采用类似的方法来抵消 Vista 用浅蓝色悬停效果“装饰”按钮的恼人方式。

谢谢。