- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的 CGContext 有一个路径和一个线宽,这在我的 UIView
中绘制了一个漂亮的黑色路径轮廓。 .伟大的。现在我试着给这个笔划上色,虽然 CGContextSetStrokeColorWithColor
方法还不错,我想要更鲜艳的颜色,所以决定使用渐变。
问题是没有 CGContextSetStrokeColorWithGradient
iOS 中的方法或(我可以看到)任何类似的方法。所以我想我必须能够绘制一个渐变,该渐变会剪裁到我绘制的笔划上。
为此,我将渐变绘制到我的 UIView
上现在是 UIView
具有填充 View 的渐变背景。
现在我有了黑色笔触和渐变。伟大的。但是我如何将一个剪辑到另一个呢?所以看起来我的笔触具有渐变的颜色?
我打过CGContextClip
在创建描边和渐变之间,但这不会将渐变剪裁到描边,它只是将渐变剪裁到路径的填充。我唯一想要将渐变剪裁到的是描边。
有什么想法吗?
这是我的 drawRect
:
let context = UIGraphicsGetCurrentContext()
let colourSpace = CGColorSpaceCreateDeviceRGB()
let path = CGPathCreateMutableCopy(path())
CGContextSetLineWidth(context, myLineWidth)
CGContextSetLineCap(context, kCGLineCapRound)
CGContextAddPath(context, path)
CGContextClip(context)
CGContextStrokePath(context)
let gradient = CGGradientCreateWithColors(colourSpace,
[startColour.CGColor, endColour.CGColor],
[0.0, 1.0])
CGContextDrawLinearGradient(context,
gradient,
CGPoint.zeroPoint,
CGPoint(x: 0, y: bounds.height),
CGGradientDrawingOptions.allZeros)
最佳答案
所以简单的 CGContextReplacePathWithStrokedPath
方法就是我所需要的。文档可能更清楚地说明发送到上下文的内容,但是我们开始了......
关于ios - CoreGraphics - 用笔划剪切渐变,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29055394/
Xcode 10 更改了搜索头文件的方法。具体来说,它给出了警告: Traditional headermap style is no longer supported; please migrate
我的基于 Objective-C 的项目中有一些 swift 代码文件。 我可以编译它,它们相互配合得很好。 swift 代码可以 导入 CoreGraphics.CGBase 然而,当我在调试swi
我的形状周围有这条线: 问题是,它的厚度显然从 1px 变成了 2px。这是我正在使用的代码: CGContextRef context = UIGraphicsGetCurrentContext()
我有以下代码,似乎唯一使用整行的最后一种颜色......我希望颜色在整个过程中不断变化。有什么想法吗? CGContextSetLineWidth(ctx, 1.0);
我试图在 CG 中获得透明背景,但它总是显示为黑色。 我有以下代码: - (id)initWithFrame:(CGRect)frame { if ((self = [super initWi
我使用以下代码对加载的图像执行一些操作,但我发现在视网膜显示屏上时显示变得模糊 - (UIImage*)createImageSection:(UIImage*)image section:(CGRe
我正在尝试绘制具有2px透明边框的图像: CGContextRef context = UIGraphicsGetCurrentContext(); CGContextSetRGBFillColor(
我已经使用CoreGraphics绘制了两个四边形(4面)形状的路径。总共有6个点,path1使用前4个点,path2使用后4个点,因此都共享2个点。 代码如下 - (void)drawRect:(C
我正在编写一个左侧有图例的 ViewController(标签和彩色框的垂直列表:Category1:黄色,Category2:gree,Category 3:蓝色,等等......) 用户可以点击列
我的形状周围有这条线: 问题是,它的厚度显然从 1px 变成了 2px。这是我正在使用的代码: CGContextRef context = UIGraphicsGetCurrentContext()
我有一个名为 myView 的 UIView @interface MyView : UIView { UIImage *myPic; NSMutableArray *myDra
我需要帮助来绘制这样的东西: 有人告诉我,灰色背景条和紫色条应该绘制在不同的图层上。然后,表示一本书章节(此 slider 所涉及的内容)的点将位于这两层之上的一层上。 我已经完成了在事件栏上创建渐变
有人可以帮我用 CoreGraphics 绘制一个特定的渐变吗?只要给出线索就足够了。示例代码值得我致以最深的敬意。我需要这个形状: 我尝试了以下代码: -(UIImage *)imageWithGr
我的 CGContext 有一个路径和一个线宽,这在我的 UIView 中绘制了一个漂亮的黑色路径轮廓。 .伟大的。现在我试着给这个笔划上色,虽然 CGContextSetStrokeColorWit
我有一个UIBezierPath,它是一个弧线。我只想在图形上下文中绘制笔划(即圆弧的笔划,不包括连接圆弧终点和起点的线) 完成此操作后,我可以向上下文添加线性渐变,从而有效地在圆弧笔划上绘制渐变。
我正在尝试使用核心图形创建两个矩形路径。当我尝试使用颜色填充路径时,重叠的路径不会填充颜色。 使用的代码是 - (void)drawRect:(CGRect)rect { CGPoint to
编辑:我认为最好的是将代码转换为 CoreAnimation。该代码将如何转换为该方法?我认为问题在于设备 FPS 存在差异。 我一直在为 iOS 搜索自定义进度圈并遇到这个库:https://git
我肯定遗漏了 Core Graphics 上下文的某些部分,无法自行清除。这是我在 Xcode Playground 中的代码 import UIKit class MyView08 : UIView
我不确定是否可以提高图像质量,但以下代码在 PDF 中显示的图像质量非常差。我知道它用于从 View 生成图像的标准代码,但我可以做些什么来指定图像质量或改进它吗? - (void)renderVie
此代码来自 Apple 的 WWDC 2011 session 318 - 深入了解 iOS 性能并使用 CoreGraphics 从服务器托管图像创建缩略图。 CGImageSourceRef sr
我是一名优秀的程序员,十分优秀!