javascript - CSS 中具有透明度的图像的线性渐变

标签 javascript css image linear-gradients

我有一个简单的 .PNG 图像,具有白色形状和透明背景。这是在 .js 中创建的。

    var img = document.createElement("img");
    img.src = "Images/seed.png";
    img.classList.add("seed");
    document.getElementById("spiralDiv").appendChild(img); 

我想向这个形状添加线性渐变,改变形状的不透明度。我尝试过使用正常的 background: Linear-gradient(rgba ... 方法,但这也为图像的透明背景提供了线性渐变,我只想渐变为 仅适用于形状。也许使用 mask 会有帮助?

Change color of PNG image via CSS?仅更改形状的颜色很有帮助,但我不确定如何使其与渐变一起使用。

我不能只在 Photoshop 中绘制带有渐变的形状,因为我还想在运行时更改 JavaScript 中渐变的方向。

Seed image with black background

Seed image with transparency

Desired outcome

(抱歉还不能发布图片)

最佳答案

从您链接的图像中,可能会混合使用filtermix-blend-mode:

可能的示例:

div {
  background: linear-gradient(to bottom left, #ff730f, #ff730f, #ffc69f, white) red;
  width: max-content;
}
div + div {background:linear-gradient(to   left, orange,gray,purple,gold,green,tomato,blue)}
img {
  display: block;
  mix-blend-mode: screen;
  filter: invert(100%);
}
body {display:flex}
<div><img src="https://i.imgur.com/8GlLI4B.png"></div>

<div><img src="https://i.imgur.com/8GlLI4B.png"></div>

关于javascript - CSS 中具有透明度的图像的线性渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62492119/

相关文章:

css - 当高度为 100% 时,显示表格 CSS 的 IE 10 错误?

JavaScript 改变图像

javascript - @media 查询以一种奇怪的方式工作

jquery - 文本框渲染中的奇怪问题

css - 我在 React 组件中使用 sass 文件,但编译器给出了一些错误

javascript - 慢慢移动图片

objective-c - Cocoa:用图像填充 NSBezierPath

javascript - Knockout.js - 传递参数

javascript - 为什么我只从 HttpContext 中获取部分 URL?

javascript - keditor 将 blob 生成的图像 URL 转换为 base64