问题标签 [quartz-2d]

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 投票
3 回答
5995 浏览

iphone - Quartz 2d / Core Graphics:绘制文本的正确方法是什么?

我已经有一段时间了,似乎在石英 2d 中有很多方法可以解决这个问题:

1)使用核心图形方法绘制文本......

不断地,这是非常低的水平。

2) 使用 NSString drawAtPoint

(到目前为止我喜欢的方法)

3) 使用 UILabel

我在某处读过这个,但不太确定这是否可能。但我认为在 drawRect 中实例化 UILabel 会非常昂贵,因为 drawRect 可能会被调用无数次。??


目前我对 2. (使用 NSString drawAtPoint)没问题,但我想得到一些意见。同样,我试图在 drawRect 中创建文本(我对视图进行了子类化),因为我也在绘制形状和文本,正确的方法是什么?

谢谢

0 投票
1 回答
561 浏览

iphone - 如何在 UIScrollView 中绘制大背景?

我有一个UIScrollView包含我想用纹理填充的子视图。

这似乎只是填充了滚动视图的可见区域,当我滚动时,其余部分是白色的。如何绘制超出矩形边界的矩形?那不好吗?

0 投票
1 回答
1838 浏览

iphone - 使用 CGContextDrawPDFPage 绘制 pdf 页面后重置 CGContextRef

我正在尝试为 PDF 文档中的每个 pdf 页面创建拇指图像并将其放置在 UISCrollVIew 中。我已经成功了,但是当滚动太快时,滚动并没有我想要的那么流畅。我想优化为 Pdf 页面创建的拇指图像。我想创建一个 CGContextRef 并在 CGContextDrawPDFPage 之后重置其内容,因此我不必每次都创建上下文并执行一些其他计算,这会占用大量资源。

是否可以在 CGContextDrawPDFPage 之后重置 CGContextRef 内容?CGContextRestoreGState 和 CGContextSaveGState 在这种情况下似乎没有帮助。

和 aspectFit 函数...

}

0 投票
3 回答
236 浏览

iphone - 对 CALayer 属性动画数量的合理预期?

我正在使用 UIView 动画块一次在显示器的多个图层上为 CALayer 属性(在本例中为背景颜色)设置动画。

所有图层都是不透明的,我在一个块中为所有内容设置动画,基本上就像这样

一旦这有 4-5 个并发层为其背景颜色设置动画,它就会变得非常不稳定,并且设备基本上开始完全失去其渲染速率并且只是冻结到剩余动画的末尾。所有视图不重叠,它们都是不透明的,通常约为 20x20 像素。

我对这是多么的糟糕感到有点震惊,尤其是在阅读了这么多关于 Quartz 2D 等令人欣慰的东西之后。我觉得我必须在这里遗漏一些基本的东西!

帮助!

0 投票
1 回答
1363 浏览

iphone - iPhone Quartz2D 渲染扩大圈

我很好奇使用 Quarts2D 实现以下功能的“正确”方法:

我想要一个视图,并且能够在任何坐标处添加一个圆圈。一旦我添加了圆圈,它应该以预定义的速率扩展;我也想重复这个过程,如果这些扩大的圈子有一个数字。

想想导弹指挥部:

黄色斑点不断扩大

一般来说,如果我使用 SDL 或其他图形库在 C++ 中编写此代码,我会:

有一个类来代表一个“成长圈”有一个向量/数组来保存指向我创建的所有“成长圈”的指针。

每个刻度都会增加所有圆圈的直径,并且在我的渲染循环中,我将迭代列表并将适当的圆圈绘制到我的缓冲区。

然而,这似乎与我在以前的 iPhone 开发中通常使用视图的方式不太吻合。

所以我想这是一种开放式的,但是对于这样的事情有“正确”的方式吗?

它是游戏循环风格(如上所述),还是我应该UIView为“圆圈”对象子类化并覆盖drawRect?我想我必须通过创建一个视图并将其添加到我的主视图来添加每个圆圈?

初步调查还让我看到了对CAShapeLayer类的引用,尽管我猜这可能与实现 UIView 子类化技术大致相同。

0 投票
1 回答
8063 浏览

iphone - iPhone, CGPDFDocument - PDF 链接

我正在尝试使用基于 QuartzDemo 的 CGPDFDocument编写一个简单的 PDF 查看器。
有一个常见的渲染:

据我了解,它是唯一的绘图,因此所有结构导航或传出链接都应手动处理(例如在触摸事件中)。

有一些函数可以设置 URL使用 URL 创建元素

问题是:如何从某个 PDF 块中获取传出链接 URL?

谢谢!

类似问题:
iPhone/iPad 上的 PDF 超链接
如何访问 PDF 文档 (iPhone) 中的超链接?

同样在
iPhone SDK 开发 GGroup
macRumors 论坛
iPhone 开发 SDK 论坛
Dev Shed 论坛
iphonedevbook.com

0 投票
1 回答
646 浏览

objective-c - Rect中的Quartz 2D绘图字符串,我怎样才能得到省略号?

当文本超过矩形大小时,关于如何生成省略号的任何建议?

0 投票
1 回答
289 浏览

iphone - Dan Briklin 的 Note Taker 怎么能如此流畅地画线?

我试图写一个类似的手绘应用程序。但是画线总是有点慢。

如果您编写了类似的应用程序并优化了线条图,请解释一下。

丹的笔记精简版

0 投票
2 回答
2199 浏览

iphone - 减小使用 Quartz2D 生成的 PDF 文件的大小

我正在寻找一种减小使用 Quartz 生成的 PDF 大小的方法。我在 CGPDFContext 中使用 CGContextDrawImage 绘制图像。我担心的是图像保存为位图而不是 JPEG。有没有办法在编写 PDF 时检查并控制它?

我还尝试在将图像写入 PDF 上下文之前减少图像的缩小,但我最终得到了一个更大的文件(尽管以像素为单位的页面大小更小)。

谢谢!

0 投票
2 回答
767 浏览

iphone - DrawRect 方法会随着时间的推移而变慢。为什么?

我在其他地方发布了这个公共汽车无法获得帮助。

所以基本上我正在努力做到这一点,以便用户可以将图像“绘制”到视图上。我试图做到这一点的方法是通过屏幕上每 9 个像素的移动,我创建一个绘制线条的蒙版,然后使用该蒙版剪辑图像。

它实际上一开始效果很好,然后像这样画了大约 20 秒后,它就变得难以忍受了。这不是离散的跳跃。它不断地变得越来越慢。

我的想法是上下文没有被正确清除,所以随着时间的推移,drawrect 方法必须做更多的工作来剪辑图像。

无论如何,这是代码。

还有我的剪辑方法:

谢谢你的帮助!