标签: gradient

生成具有完整 RGB 空间的画布颜色选择器

由于 RGB 需要一个立方体来显示所有颜色,因此有更多方法来显示所有颜色。我想要一个圆圈以全彩显示彩虹中的所有颜色 - 并且单击时在其自己的小 2D 空间中显示所选颜色的所有不同亮度。

我想使用画布生成类似于此图像的内容:

选色器

我对此的尝试:

JavaScript:

function ColorPicker(element) {
    this.element = element;

    this.init = function() {
        var diameter = this.element.offsetWidth;

        var canvas = document.createElement('canvas');
        canvas.height = diameter;
        canvas.width = diameter,
        this.canvas = canvas;

        this.renderColorMap();

        element.appendChild(canvas);

        this.setupBindings();
    };

    this.renderColorMap = function() {
        var canvas = this.canvas;
        var ctx = canvas.getContext('2d');

        var radius = canvas.width / 2;
        var toRad = (2 * Math.PI) / 360;
        var step = 1 / radius;

        ctx.clearRect(0, 0, canvas.width, canvas.height);

        for(var i = …
Run Code Online (Sandbox Code Playgroud)

html javascript gradient canvas color-picker

2
推荐指数
1
解决办法
6586
查看次数

在HSV中生成两种颜色之间的颜色列表

假设我有两种 RGB 颜色 (255,0,0) 和 (0,0,255),我还需要它们之间的 100 种颜色。我将如何根据一些必需的步骤生成 HSV 颜色值列表?

目前使用 python 3 我创建了这个代码:

def lerpcolourhsv(rgb1, rgb2, steps):
#convert rgb to hsv
hsv1 = colorsys.rgb_to_hsv(rgb1[0], rgb1[1], rgb1[2])
hsv2 = colorsys.rgb_to_hsv(rgb2[0], rgb2[1], rgb2[2])

# calculate distance between two hue numbers, divide by number of steps. then loop to generate
rgb_colour_list = []
dist = cachefunc.numdistance(hsv1[0], hsv2[0])
step_value = dist / steps
hue = hsv1[0]

for x in range(steps):
    hsv_tupel = (hue, 1, 1)
    hue += step_value
    rgb = colorsys.hsv_to_rgb(hsv_tupel[0], hsv_tupel[1], hsv_tupel[2]) …
Run Code Online (Sandbox Code Playgroud)

python interpolation gradient colors hsv

2
推荐指数
1
解决办法
3889
查看次数

UIButton 上的圆形渐变边框

您好,我一直在尝试在我的应用程序中实现一个 UIButton,它具有圆角和渐变边框。我使用以下代码在我的按钮上创建了渐变边框:

    let gradient = CAGradientLayer()
    gradient.frame =  CGRect(origin: CGPoint.zero, size: self.myBtn.frame.size)
    gradient.colors = [colourOne.cgColor, colourTwo.cgColor]

    let shape = CAShapeLayer()
    shape.lineWidth = 6
    shape.path = UIBezierPath(roundedRect: self.myBtn.bounds, cornerRadius: 22).cgPath
    shape.strokeColor = UIColor.black.cgColor
    shape.fillColor = UIColor.clear.cgColor
    gradient.mask = shape

    self.myBtn.layer.addSublayer(gradient)
Run Code Online (Sandbox Code Playgroud)

这段代码可以很好地创建边框,但正如您从图片中看到的那样,角没有正确圆角。我尝试过的其他技术使圆角完全不可见。

我的按钮上面的代码

另外,我需要按钮是透明填充,所以我不能简单地进行渐变填充。

如果有人能为我阐明这一点,将不胜感激。

gradient uibutton ios swift

2
推荐指数
1
解决办法
1844
查看次数

最小化 Tensorflow 中的函数

如何使用 tf.gradients 获取函数的梯度?当我使用 GradientDescentOptimizer.minimize() 时,以下正在工作,tf.gradients 似乎在 x^2+2 的派生处评估 1,即 2x

我错过了什么?

x = tf.Variable(1.0, trainable=True)
y = x**2 + 2

grad = tf.gradients(y, x)
#grad = tf.train.GradientDescentOptimizer(0.1).minimize(y)

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    grad_value = sess.run(grad)
    print(grad_value)
Run Code Online (Sandbox Code Playgroud)

python gradient tensorflow

2
推荐指数
1
解决办法
662
查看次数

如何在没有优化器的情况下将梯度设置为零?

在多次.backward()传递之间,我想将梯度设置为零。现在我必须分别为每个组件执行此操作(这里是xt),有没有办法对所有受影响的变量“全局”执行此操作?(我想像这样的东西z.set_all_gradients_to_zero()。)

我知道optimizer.zero_grad()如果您使用优化器,但是否还有不使用优化器的直接方法?

import torch

x = torch.randn(3, requires_grad = True)
t = torch.randn(3, requires_grad = True)
y = x + t
z = y + y.flip(0)

z.backward(torch.tensor([1., 0., 0.]), retain_graph = True)
print(x.grad)
print(t.grad)
x.grad.data.zero_()  # both gradients need to be set to zero 
t.grad.data.zero_()
z.backward(torch.tensor([0., 1., 0.]), retain_graph = True)
print(x.grad)
print(t.grad)
Run Code Online (Sandbox Code Playgroud)

gradient pytorch

2
推荐指数
1
解决办法
2048
查看次数

在 UIManager 中找不到 BVLinearGradient?

有关于此的文档,但它仅适用于 macOS。https://github.com/react-native-community/react-native-linear-gradient

我通过运行npm install react-native link react-native-linear-gradient.

我不明白我没有 ios 文件夹,我安装了 pod 但我的 ios 文件夹仍然是空的:

iOS For React Native >= 0.60.0 在 ios/ 文件夹中运行以下命令并跳过本节的其余部分。

pod install CocoaPods 将以下行添加到您的 Podfile 中:

pod 'BVLinearGradient', :path => '../node_modules/react-native-linear-gradient' 或:

以下仅适用于 macOS ?

在 Xcode 中手动打开您的项目,右键单击库并单击将文件添加到“您的项目名称” 在 node_modules/react-native-linear-gradient/ios 下查找并添加 BVLinearGradient.xcodeproj。(截图 1) (截图 2)。将 libBVLinearGradient.a 添加到 Build Phases -> Link Binary With Libraries(截图 1)(截图 2)。单击库中的 BVLinearGradient.xcodeproj 并转到构建设置选项卡。双击 Header Search Paths 右侧的文本并验证它是否具有 $(SRCROOT)/../react-native/React - 如果没有,则添加它。这是为了让 Xcode 能够通过指向安装在 react-native node_modules 目录中的头文件来找到 BVLinearGradient 源文件所引用的头文件。(截屏)。

如何在 …

gradient react-native

2
推荐指数
3
解决办法
9262
查看次数

半圆中的JavaFX圆形径向渐变辐射

我需要向减法圆添加圆形径向渐变。我一直在尝试,但我无法获得圆形渐变。

圆形径向梯度试验

1:整圆2:整圆径向渐变3:减圆4:减圆中的圆形径向渐变(不是我想要的)5:减圆中的圆形径向渐变。这就是我想要获得的。

一旦我得到减去的圆 (3),我就会应用径向渐变,但我得到的是 (4) 而不是 (5)。

int x = 0.5;
int y = 0.5;

RadialGradient gradientCut = new RadialGradient(0, 0, x, y, 1, true, CycleMethod.NO_CYCLE, new 
Stop[] {
            new Stop(0, Color.ORANGE),
            new Stop(0.2, Color.YELLOW),
            new Stop(0.5, Color.TRANSPARENT)
});

Rectangle rect = new Rectangle(0, 0, 1000, 75);

Shape cutCircleGradient = Shape.intersect(circleGradientCut, rect);
cutCircleGradient.setFill(gradientCut);
Run Code Online (Sandbox Code Playgroud)

我也尝试更改值 x 和 y 但我没有得到我想要的。

gradient javafx circular-dependency shapes intersect

2
推荐指数
1
解决办法
88
查看次数

如何正确混合两个三角形的颜色并去除对角线涂抹

我正在学习 WebGL,并且为每个顶点绘制了一个带有颜色的全屏四边形。没有照明或法线或透视矩阵或深度缓冲区;我只是在绘制渐变背景。这就是我得到的:

全屏渐变

它看起来不错,但我不禁注意到从右下角到左上角的对角线涂抹。我觉得这是线性插值远相反顶点的人工制品。我正在画两个三角形:左下角和右上角。我想我会使用 OpenGL 而不是 WebGL 得到类似的结果。

给定相同的四种颜色和相同大小的矩形,有没有办法渲染它,使两个三角形之间的边缘不那么明显?也许更多的顶点,或不同的混合功能?我不确定每个像素的颜色应该是什么;我只是想知道如何摆脱对角线涂抹。

gradient colors glsl webgl linear-interpolation

2
推荐指数
1
解决办法
694
查看次数

需要帮助理解pytorch中的梯度函数

以下代码


w = np.array([[2., 2.],[2., 2.]])
x = np.array([[3., 3.],[3., 3.]])
b = np.array([[4., 4.],[4., 4.]])
w = torch.tensor(w, requires_grad=True)
x = torch.tensor(x, requires_grad=True)
b = torch.tensor(b, requires_grad=True)


y = w*x + b 
print(y)
# tensor([[10., 10.],
#         [10., 10.]], dtype=torch.float64, grad_fn=<AddBackward0>)

y.backward(torch.FloatTensor([[1, 1],[ 1, 1]]))

print(w.grad)
# tensor([[3., 3.],
#         [3., 3.]], dtype=torch.float64)

print(x.grad)
# tensor([[2., 2.],
#         [2., 2.]], dtype=torch.float64)

print(b.grad)
# tensor([[1., 1.],
#         [1., 1.]], dtype=torch.float64)

Run Code Online (Sandbox Code Playgroud)

由于函数内的张量参数gradient是输入张量形状的全一张量,我的理解是

  1. w.grad表示ywrt 的导数w,并产生 …

python gradient machine-learning pytorch

2
推荐指数
1
解决办法
135
查看次数

Jetpack Compose 中的图像渐变

这是我的组件:

@Composable
fun Cover(
    name: String,
    imageRes: Int,
    modifier: Modifier = Modifier.padding(16.dp, 8.dp)
) {
    Box(modifier) {
        Card(
            shape = RoundedCornerShape(4.dp),
            backgroundColor = MaterialTheme.colors.secondary,
            elevation = 4.dp
        ) {
            Stack {
                Image(
                    imageResource(imageRes),
                    modifier = Modifier
                        .gravity(Alignment.Center)
                        .aspectRatio(2f),
                    contentScale = ContentScale.Crop,
                )

                Text(
                    text = name,
                    modifier = Modifier
                        .gravity(Alignment.BottomStart)
                        .padding(8.dp),
                    style = MaterialTheme.typography.h6
                )
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是它的外观:

覆盖

我想在上面Image和后面显示一个暗渐变,Text以便文本易于阅读。我想我将不得不使用LinearGradientRadialGradient但由于缺乏文档我无法做到。

编辑:就是我想要做的,但使用 Jetpack Compose。

android gradient android-jetpack-compose

2
推荐指数
4
解决办法
3300
查看次数