问题标签 [cgcontext]

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 回答
4824 浏览

cocoa - 将一个 UIView 的绘制内容复制到另一个

我想要一个 UITextView 并允许用户在其中输入文本,然后将内容的副本触发到石英位图上下文中。有谁知道我如何执行此复制操作?我应该重写 drawRect 方法并调用 [super drawRect]然后获取结果上下文并复制它吗?如果是这样,是否有人对从一个上下文复制到另一个上下文的示例代码有任何参考?

更新:通过阅读下面答案中的链接,我整理了这么多内容,试图将我的 UIView 内容复制到位图上下文中,但仍然有问题。我的内容在 X 轴上镜像(即倒置)。我尝试使用 CGContextScaleCTM() 但这似乎没有效果。

我已经验证了前四行创建的 UIImage 确实正确地创建了一个不会奇怪地旋转/翻转的 UIImage,所以我在后面的调用中做错了。

有什么建议么?

0 投票
1 回答
8618 浏览

iphone - 使用 CoreGraphics CGContextDrawImage 在 CATiledLayer 中绘图

我想在 iPhone OS 3.1.3 中使用 CATiledLayer,为此,所有绘图-(void)drawLayer:(CALayer *)layer inContext:(CGContext)context都必须仅使用 coregraphics 完成。

现在我遇到了 iPhone 上翻转坐标系的问题,并且有一些建议如何使用变换来修复它:

我的问题是我无法让它工作。我开始使用 PhotoScroller 示例代码并仅用 coregraphics 调用替换绘图方法。看起来像这样

}

如您所见,我使用缩放变换来反转坐标系,并使用平移变换将原点移动到左下角。图像正确绘制,但仅绘制第一行图块。我认为平移操作或图块坐标的计算方式存在问题。

这是它的样子:

我对所有这些转变感到有点困惑。

额外问题:如何处理核心图形中的视网膜显示图片?

编辑: 为了让它在视网膜显示器上工作,我只是从示例代码中采用了原始方法来提供图像:

原则上,显示的比例被忽略,因为 Core Graphics 以像素而不是点为单位工作,因此当要求绘制更多像素时,会使用更多 CATiledLayers(或子图层)来填充屏幕。

非常感谢托马斯

0 投票
1 回答
420 浏览

iphone - SetStrokeColorWithColor 中的 UIColor 触发 EXC_BAD_ACCESS - 内存问题?

我有一条大线要画,颜色沿线变化。

我时不时地在代码的第 4 行得到 EXC_BAD_ACCESS。

我怀疑这与 *tempColor 的自动释放有关,但无法弄清楚如何让它有效地工作而不是崩溃。

有任何想法吗?这在此代码的 50 次运行中有 1 次崩溃。

编辑:

在那个建议之后快速玩了一下,可能认为是因为 heightLocal 没有初始化?

我将其更改为此处的代码...

它在第一行得到同样的错误。如果!

heightLocal 使用...进行初始化

0 投票
1 回答
669 浏览

iphone - 使用未填充的核心图形绘制形状(只有边框的圆圈)

嗨,我正在尝试在我的 iphone 应用程序中画一个圆圈,它只画一个没有填充的圆圈。关于如何做到这一点的任何提示?我试图使用 CGContextSetStrokePattern 但我不知道如何定义模式?

0 投票
2 回答
2681 浏览

iphone - CGContextAddArc 真的那么慢吗(比起用几条线画的圆

伙计们,

在编写几个刻度盘和滑块(例如,一个可以旋转的大音量按钮)时 - 我发现标准 CGContextAddArc() 使用如下:

慢得令人难以置信。

在 iPad 上 - 带有少量填充/描边的圆圈,在拖动过程中不到 10 次干净的 [self setNeedsDisplay] 更新/秒。一个非常快速的手绘圆圈(如下所示)的破解速度要快几个数量级。同样适用于模拟器。

为什么是这样。似乎是正常填充和各种渐变填充的情况。我究竟做错了什么 ?

德。

0 投票
2 回答
207 浏览

iphone - 使用 uitabbarcontroller 在上下文中绘制 pdfpage

我有一个包含 pdf 的 uiviewcontroller。

pdf 是在 viewcontroller 的上下文中绘制的,并且部分被顶部的导航栏和底部的标签栏覆盖(这就是我想要的)。

我想通过双击隐藏这两个栏并可视化完整的 pdf 页面。

问题是 pdf 的底部未绘制,当我隐藏底部 tabBar 时,这一事实变得明显(顶部导航栏的隐藏效果很好)。

我的问题是:隐藏底栏后如何在“完整”上下文中绘制 pdf?

(我已经试过用setNeedsDisplay强制重绘了,但是隐藏栏后上下文还是一样的)

以下是绘制 pdf 页面的代码:

{

}

初始化条的代码(在 appdelegate 中):

以及隐藏条的代码:

谢谢

0 投票
1 回答
1305 浏览

iphone - UIGraphicsGetImageFromCurrentImageContext 的线程安全(CG)版本?

我试图在后台线程上将 PDF 页面呈现为图像,是否有一种线程安全的方法可以从不使用的 pdfContext/context 生成图像:

UIGraphicsGetImageFromCurrentImageContext

0 投票
2 回答
7365 浏览

iphone - 使用 CGContext 时的图像绘制问题。图像水平镜像

当我UIImage* image使用下面的代码在 UIView 上绘图时,图像是水平镜像的。就是这样,如果我画4,它就是这样画的替代文字..

那就是问题所在???我做错了吗???或者如果有人知道如何解决它,请告诉我。我非常感谢提前。

感谢一个loooooooooot。

0 投票
2 回答
588 浏览

macos - 如何使用 CGContext 获取全局(屏幕、设备)坐标?

我尝试为 Mac OSX 中的浏览器制作插件。

我从浏览器进程中得到了一个 CGContext 。

所以我可以用它画画。

我要做的是为事件处理创建一个窗口,有人在这个神奇的网站上给我建议:)

我可以轻松制作一个透明窗口,但我可以将那个窗口移动到适当的位置。

我确切地知道窗口的大小,但我可以确定窗口的原点。

我唯一得到的是CGContextRef。

我试过这个。

但没有运气。它返回了我给它的值

有什么建议吗?

提前致谢。

0 投票
1 回答
13863 浏览

iphone - 绘制到 CGImageRef

我想创建一个 CGImageRef 并为其绘制点。

使用什么上下文来创建一个空的 CGImageRef 并能够在其上绘制。CGContextRef 还是 CGBitmapContextRef?

如果您可以提供代码来创建一个空的 CGImageRef 图像并绘制它,我将不胜感激。