问题标签 [nsgradient]

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 投票
2 回答
204 浏览

objective-c - NSScrollView 搞砸了 NSGradient(损坏)

我有一个我制作的自定义框,它是NSBox. 我覆盖该drawRect:方法并像这样在其中绘制渐变(假设我已经有一个startend颜色):

现在这个框被添加为一个原型视图的子视图NSCollectionView。在视图的原始状态下,它看起来像这样:

在此处输入图像描述

在将视图滚动到视线之外并再次返回后,它看起来像这样:

在此处输入图像描述

为什么我的渐变会这样损坏,我该如何解决?谢谢!

0 投票
1 回答
914 浏览

cocoa - 带有渐变的按钮,如用于分段控制的色调

我应该重现这种行为

图片

我尝试使用带有简单线性渐变的 NSGradient 来填充它,但结果很差。它是什么样的渐变?

0 投票
1 回答
296 浏览

objective-c - 删除颜色的 NSGradient 问题 - Cocoa/Objective-C

我正在使用 NSGradient 来处理一些东西,在某些时候我需要添加/更改/删除颜色。现在,据我所知,NSGradient 是不可变的,所以我知道如何做到这一点的唯一方法是创建一个新的渐变并在此过程中更改颜色及其位置。我对这种添加颜色和更改颜色位置的方法没有任何问题,但删除颜色时会发生一些奇怪的事情。

这是从给定索引的渐变“渐变”中删除颜色的函数:

重要的代码主要在两个“// ----------------------------”之间。其余的仅用于调试目的。


问题

当我使用 |-white----gray----black-| 之类的渐变运行此代码时 并尝试删除第二种颜色(灰色,colorIndex = 1)我得到这个渐变:|-whiteblack---------|。最后一个颜色跳到位置 0.0。这是该代码的打印文本:

为什么会这样???这根本没有意义!!(好吧,想想看,在找到解决方案之前几乎没有错误,但仍然......)。谢谢!

0 投票
1 回答
907 浏览

objective-c - NSImage +imageWithPatternColor: 和 NSGradient - Cocoa/Mac

我正在绘制一个NSGradient像这样的自定义视图:

_color例如,如果是正常颜色,[NSColor blueColor]则一切正常。问题是_color来自一个图案图像(在这种情况下,它大部分是灰色的,上面有一些花哨的像素),当这种情况发生时,程序会不断记录这个错误:

*** -[NSGradient initWithColors:atLocations:colorSpace:]: 颜色 NSPatternColorSpace CGImageSource=0x400367d60" )> 无法转换为颜色空间 Generic RGB 颜色空间

_color = [NSColor colorWithPatternImage: [NSImage imageNamed: @"mainBG.png"]]

该图像完全不透明,是一个 png 文件。有任何想法吗?也许我应该更改文件类型?我不知道...

编辑:

如果我_color这样定义:

然后不显示渐变。没有。就像我没有drawRect:方法一样。有任何想法吗?

0 投票
1 回答
2728 浏览

macos - 如何将 NSGradient 设置为 NSWindow 背景

我是可可新手,我试图设置NSGradientNSWindow背景,但这对我来说太难了......我已经尝试过这段代码

但它不起作用....任何其他方式设置NSGradientNSWindow....

0 投票
1 回答
439 浏览

objective-c - 在 Cocoa 中本地绘制边框和高光

如何在 Cocoa 中本地绘制高光和非 4 边边框?

下图就是一个例子。顶部有一个小的 1px 白色内边框,底部有一个灰色的 1px 内边框。仅在视图的顶部和底部还有一个深灰色边框。

这可以在本地完成吗?或者这需要图像吗?

在此处输入图像描述

0 投票
1 回答
281 浏览

objective-c - NSGradient 淡入淡出/动画

简单地说:是否可以在单个 NSView 上的两个 NSGradient“填充”之间淡入淡出?例如。绘制一个渐变并淡入淡出绘制下一个。

0 投票
2 回答
1055 浏览

cocoa - 将 NSGradient 转换为 NSColor

是否可以将 NSGradient 转换为 NSColor

这是我的方法,我希望能够将 NSGradient 作为 NSColor 传递,显然我不能,有没有办法将它转换为一个?

0 投票
4 回答
2629 浏览

objective-c - 为梯度位置创建一个 CGFloat 数组

我正在尝试从字典数组(colorArray2)中创建渐变颜色。该字典包含 5 个键:r、g、b、a、p。r、g、b、a 是组件值(字符串),p 是位置。我正在尝试使用initWithColors:atLocations:colorSpace创建渐变颜色。现在,我有以下内容。

所以我有一个包含颜色的数组(cArray)。我不知道如何创建位置数组。根据文档,位置是一个 CGFloat 值数组,其中包含渐变中每种颜色的位置。如何枚举创建浮点数组的任何内容?

谢谢您的帮助。

更新

更具体地说,我如何让 pArray 得到类似的东西

这样我就可以拥有

0 投票
1 回答
95 浏览

objective-c - NSGradient getColor:location:atIndex 中的“索引”是什么?

在以下 NSGradient 方法中:

什么是索引?文档说我想要的颜色的索引。但我认为这种方法的重点是它告诉您用于特定位置的颜色?我不知道指数。

我想定义一个渐变(颜色和位置),并给定一个浮点数返回相应的颜色。

有没有人有一个定义渐变的例子,这个方法被称为?