问题标签 [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 投票
1 回答
798 浏览

objective-c - Quartz 2D 动画文本?

我必须围绕一个圆圈为文本设置动画。文本也将按比例放大/缩小。实现这一目标的最佳方法是什么?(我正在使用石英 2D)

我的方法是:
-- 使用 sin 和 cos 方法计算点。
-- 将 Pen 移到那里并使用 alpha 和大小绘制文本。
-- 清除屏幕 -- 使用 sin 和 cos 方法计算下一个点。
-- 将笔移到那里并用 alpha 和大小绘制文本。
--清屏
等等...

有更好的方法吗?

0 投票
2 回答
962 浏览

objective-c - CGContextShowTextAtPoint:无效的上下文

我想每 5 秒调用一次负责在屏幕上绘制文本的方法。这是我的代码

但是在调用此方法 5 秒后,我收到此错误
CGContextShowTextAtPoint: invalid context

另一件事是如何显示更细的字体?

0 投票
1 回答
479 浏览

objective-c - Quartz 2D 的绘图文本和自定义方法中的 NSTimer

我想使用石英 2d 显示文本。每 1 秒后,文本将随机绘制在不同的位置。我不确定如何将 NSTimer 与石英 2D 文本一起使用。我可以在图形上下文已经可用的 drawRect 方法中绘制文本。
我将如何使用我的自定义方法 myDraw 绘制文本,该方法将在 1 秒后使用 NSTimer 调用?

如果我创建自定义方法,则图形上下文在该方法中不可用。

0 投票
1 回答
380 浏览

iphone - 投影坐标与 iPhone OS 3.2 不同?

我正在尝试绘制带有阴影的自定义视图。我从 iPhone OS 3.2 得到不同的结果。从 3.2 开始,CGContextSetShadowWithColor 的坐标系是否发生了变化?

这是我正在使用的代码:

这是它在 3.1 和 3.2 上的外观

根据 iPhone OS 的版本,我使用投影的所有视图看起来都不同。我错过了什么吗?

0 投票
0 回答
1334 浏览

iphone - Quatz 2D/Core Graphics 中的触控绘图

我正在尝试实现“手绘工具”。目前算法看起来像这样(我没有插入任何代码,因为方法很大,将尝试解释一个想法):

绘画

  1. touchesStarted:方法中,我创建NSMutableArray *pointsArray 并在其中添加点。调用setNeedsDisplay:方法。
  2. touchesMoved:方法中,我从 pointsArray 和当前点计算最后添加的点之间的点。将所有点添加到 pointsArray。调用setNeedsDisplay:方法。
  3. touchesFinished:事件中,我计算数组中最后添加的点与当前点之间的点。设置标志touchesWereFinished。调用setNeedsDisplay:

使成为:

drawRect:方法检查是pointsArray != nil并且其中是否有任何数据。如果有 - 它开始在该数组的每个点中绘制圆圈。如果设置了标志touchesWereFinished - 将当前上下文保存到UIImage,释放 pointsArray,将其设置为nil并重置标志。

这种方法有很多缺点:

  • 它很慢
  • 当用户长时间触摸和移动手指时,它变得非常慢。阵列变得巨大
  • 由圆圈组成的“线”很难看

我想改变我的算法,让它更快一点,线条更平滑。结果,我希望在以下 URL 的图片上有类似的行(抱歉,没有足够的声誉来插入图像):http: //2.bp.blogspot.com/_r5VzEAUYXJ4/SrOYp8tJCPI/AAAAAAAAAMw/ZwDKXiHlhV0/s320/SketchBook +手机(4).png

你能建议我吗,我可以这样画线(边缘光滑而纤细)?我想在边缘绘制带有 alpha 渐变的圆圈(使线条更平滑),但恕我直言,它会非常缓慢。

感谢帮助

更新

我改变了绘制算法。现在,我保存UITouch并在drawRect:方法中从上一个绘制路径的每个事件。指向当前的。并在每次drawRect:调用时从上下文中转储UIImage 。

但我还有两个问题:

  1. 是否可以画得更流畅。我的意思是,如果我画得很快,我很容易看到路径路径是一组直线。但我想画曲线,使路径平滑。贝塞尔曲线可能会有所帮助,但我不明白它们如何提供帮助。情况。
  2. 我想以较细的线开始路径并以较细的线结束。我怎么能做这条线变换?谢谢!
0 投票
2 回答
539 浏览

objective-c - 石英 2D 层

我想使用石英 2D 创建 2 个单独的图层。我可以单独处理那里的重绘方法吗?这样我就可以重绘 1 层而不重绘整个屏幕或其他图层。

是否可以?任何代码示例?

0 投票
1 回答
317 浏览

objective-c - 回滚drawRect:

有什么方法可以退出drawRect:而不刷新当前UIView?例如:

谢谢!

0 投票
1 回答
2053 浏览

ipad - Apple iPad 和 PDF 支持

关于 PDF 及其在 Apple iPad 上的使用,我有几个问题:

1) iPad 是否支持所有 Quartz PDF 函数(即所有 CGPDFxxx 函数/类)?

2) iPad 是否支持 PDF Kit?

3) 是否有可能使用这两种 API 中的任何一种,基于手指触摸的坐标来检测底层 PDF 项目(例如文章、文本、注释)?

4) Quartz PDF 函数和 PDF Kit 有什么区别?

非常感谢 问候, STeN

0 投票
4 回答
785 浏览

iphone - 我应该为 iPhone 游戏编程学习 Quartz 吗?

我想在 iphone 上学习和开发 2d 游戏,但我不知道我是否应该先学习 Quartz 2d,或者我可以直接跳入 openGL ES?

0 投票
1 回答
1071 浏览

iphone - 在 UIScrollView 上绘制图像和线条

我正在编写一个应用程序,其中一个 ViewControllers 正在显示一个 UIScrollView 显示图像。

我想加载一个图像(png 格式的图钉)并在 UIScrollView 图像的某些点上绘制它(并删除它)。

我还想在该图像中绘制贝塞尔路径(并删除它们)。

我已经编写了几个应用程序,但这是我第一次面对图形编程并且不知道从哪里开始。

有什么建议么?

谢谢!