问题标签 [cgcontextref]

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 投票
1 回答
418 浏览

ios7 - 从 drawRect 调用的方法中出现无效的 CGContext 错误

我正在尝试编写一个 UIView drawRect: 方法,该方法调用一个辅助方法来绘制渐变填充,其中包含我传递给它的一些参数:

当我在模拟器中运行此代码时,它似乎工作正常(一切都正确呈现),但我收到此错误消息:

错误:CGContextResetState:无效上下文 0x8dcc190。这是一个严重的错误。此应用程序或它使用的库正在使用无效的上下文,从而导致系统稳定性和可靠性的整体下降。此通知是出于礼貌:请解决此问题。这将成为即将到来的更新中的致命错误。

收到此错误消息后,我认为 CGContextRefs 根本无法作为函数参数传递,所以我尝试了这个:

但同样的事情发生了:程序似乎运行良好,但运行时抱怨我使用了无效的图形上下文。

是否有正确的方法将绘图函数委托给辅助函数,还是我必须将所有绘图代码塞进 drawRect 函数中?

0 投票
1 回答
661 浏览

ios - iOS - UIGraphicsGetCurrentContext 可以在 drawRect 之外使用吗?

我想根据不同的用户动作动态改变当前的CGContextRef?这是可能的还是它的修改只能在drawRect:视图实例中进行?当我打电话UIGraphicsGetCurrentContext()到外面时会发生什么drawRect:,这样做有什么限制吗,是否推荐?我需要考虑的任何可能的影响?

0 投票
1 回答
721 浏览

ios - CGContext 的奇怪错误

我收到错误

使用此代码

我不明白问题是什么。我想做的是在 Swift 中创建一个带圆角的矩形。为什么我会收到此错误,是否有更简单的方法可以做到这一点?

0 投票
0 回答
88 浏览

ios - iOS 生成 PDF 文件,每页一张图片

我发现这个链接描述了如何向 PDF 添加内容。因此,正如我理解的那样,页面将根据输入 NSString 生成。所以页数取决于字符串的长度。

我需要实现相同但使用图像。例如,我有 10 张图片,所有这些图片都将在每一页上放置一个。就像第一页上的第一张图片,第二页上的第二张图片等等。

我还发现这个可以生成 PDF 文件,但似乎我没有机会设置页数。有什么好的解决方案如何实施吗?

0 投票
1 回答
2911 浏览

ios - 无法在 CGContext 中设置填充颜色 (CGContextSetFillColorWithColor)

请原谅我,但我的知识CGContext相当有限。

我正在使用此处接受的答案中的代码在UIView. 我想要实现的是以 2 种不同颜色显示星星(如评级视图)。问题是,我似乎无法为CGContextSetFillColorWithColor().

相关代码:

完整代码:

在编译和执行时,我得到了日志:

但是,填充颜色似乎没有生效,结果是:

在此处输入图像描述

我不明白我在这里做错了什么。

0 投票
1 回答
435 浏览

ios - 如何知道 CGContext 正在绘制到屏幕上

我想知道当前的 CGContext 用于图像、PDF 或屏幕绘图。在 Cocoa 中,我只使用 [[NSGraphicsContext currentContext] isDrawingToScreen] ([NSGraphicsContext currentContextDrawingToScreen] on 10.10)。如何从 CGContext 获得相同的信息?

0 投票
2 回答
188 浏览

uiimage - 在 Retina @2x 显示器上创建一个宽度为 3 像素的 UIBezierPath

我正在尝试在视网膜@2x 显示器上创建一条 3 像素宽的线。简单的想法是创建一条 1.5 宽的线:

但最后,我在屏幕上得到了 4 像素的线宽。

问题是,我使用的是 iPad 3(所以视网膜 @2x),当我使用带有预定义系统按钮 UIBarButtonSystemItemAdd 的 UIBarButtonItem 时,十字的两条路径在我的屏幕上是 3 像素宽度。

0 投票
1 回答
103 浏览

ios8 - iOS 8 CGContextRef 不支持的参数组合

有人知道如何为 iOS 8 更新此代码吗?我收到此错误消息:

CGBitmapContextCreate: unsupported parameter combination: 8 integer bits/component; 32 bits/pixel; 3-component color space; kCGImageAlphaPremultipliedFirst; 4294967289 bytes/row.

0 投票
1 回答
126 浏览

ios - iOS - CGContextRotateCTM 上的上下文无效

当我尝试运行我的旋转方法时,我收到以下错误:

<Error>: CGContextRotateCTM: invalid context 0x0. This is a serious error. This application, or a library it uses, is using an invalid context and is thereby contributing to an overall degradation of system stability and reliability. This notice is a courtesy: please fix this problem. It will become a fatal error in an upcoming update.

旋转方法:

你知道我做错了什么吗?

0 投票
1 回答
3031 浏览

ios - 在Swift中获取像素点的颜色

我在这里找到了一个获取像素颜色的 Objective-C 代码示例: How to get the pixel color on touch?

我需要帮助的特定代码部分是使用 CGColorSpaceCreateDeviceRGB 创建上下文的位置:

---这是Objective-C代码

我最好的尝试如下(我没有返回任何东西,但我正在尝试首先正确获取上下文):

---这是我最好的 Swift 转换尝试

然而,这给了我一个错误

如果您能建议我如何调整上面的代码以正确输入上下文函数参数,我将不胜感激,谢谢!