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

iphone - 在 Quartz 中绘制方程

我有 iPhone 编程经验,但不是真正的图形编程经验。

我决定制作一个 2d 游戏并为此选择 Quartz 2D(我熟悉 Open GL,但 Quartz 似乎更容易用于 2d 游戏)。

有没有一种内置的方法可以在 Quartz 中绘制数学公式的图表?一开始它只是一条抛物线(y=ax^2+bx+c),但等式本身在未来会变得更加复杂。

如果我使用自己的算法(从单独的线或点)绘制抛物线,可能会很慢。

先感谢您。

0 投票
1 回答
1908 浏览

iphone - UIImageView 的 CALayer 的锚点“访问属性的未知组件”错误

我正在尝试围绕右下角旋转图像。为此,我知道我需要设置图层的锚点,但我无法访问它。我已经在我的项目中包含了 QuartzCore 框架。为了尽可能简化问题,我将方法简化为这三行,但仍然会抛出错误“错误:访问属性的未知 'anchorPoint' 组件”(第 2 行)。

这一定是真正愚蠢的事情。我已经查看了其他示例,它们看起来相同。我错过了什么?

0 投票
2 回答
1368 浏览

cocoa - 如何删除 NSBezierPath

我有一个NSBezierPath我创建的,我称之为 -stroke 。如何在不释放对象的情况下从视图中删除/删除它?

0 投票
1 回答
717 浏览

iphone - iphone石英围绕线绘制边框

在 iPhone 的石英线周围绘制(黑色)边框的最佳方法是什么?我在地图上的街道上画线,如果线是黄色的(这是一个合法的用例),它会与街道颜色融为一体。我可以做的一件事是把我的线条放在一条稍粗一点的黑线上,但这听起来效率不高。

0 投票
4 回答
2766 浏览

iphone - iphone石英在彼此顶部绘制2条线会导致蠕虫效应

我正在使用 Quartz-2D for iPhone 在地图上显示路线。路线根据温度着色。因为有些街道是黄色的,所以我在路线下方使用了一条稍粗的黑线来创建边框效果,这样路线的黄色部分就可以在黄色街道上看到。但是,即使黑线和路线线一样粗,整条路线看起来也像一条虫子(非常丑陋)。我认为这是因为我在从航点到航点画线,而不是使用最后一个航点作为下一个起始航点。这样,如果缺少几个航点,路线仍然不会有任何削减。

我需要做什么才能在没有蠕虫效果的情况下显示两条线?

另外,我得到一个

错误,我认为这是胡说八道。

请提示我!:)


0 投票
1 回答
1150 浏览

iphone - setNeedsDisplayInRect 问题(quartz2d,iPhone)

我编写了一个函数,它每 2 秒在随机位置绘制 x 个正方形。一个正方形不能在同一个位置画两次。一旦应用程序完成一个循环,网格将被填充。现在,当绘制的正方形数量 <=8 时,这可以正常工作,但是当它更高时,一个正方形会随机绘制到与前一个正方形相同的位置。

我没有将正方形绘制到随机位置,而是尝试从顶部底部绘制它们,并且效果很好。

我已经调试了几天,我相信问题出在 setNeedsDisplayInRect 上。

希望有人可以提供帮助。对不起,如果我漫无目的,它已经晚了,我的头被捣碎了,大声笑:)

下面是代码......

}

}

0 投票
1 回答
211 浏览

iphone - 在几个 CATransforms 之后在屏幕上找到一个子层位置?

我的 iPhone 应用程序有一个 mainView。作为子层添加到此 MainView 的是 CircleView。CircleView 在手机转动时旋转,在手机倾斜时倾斜,使用 3 个连接的 CATransform3D 变换。DotView 作为一个子层添加到 CircleView。在所有这些变换之后,我没有简单(或明显)的方法来了解 dotView 在 mainView 坐标系中的坐标。

我还有另一个视图,squareView,也添加到主视图中。我确实知道 mainView 坐标系中 squareView 的坐标。

我想使用 Quartz 2D 在 dotView 和 squareView 之间画一条线。如何找出 squareView 的坐标以便在两者之间画一条线?

谢谢。

0 投票
1 回答
1438 浏览

iphone - Quartz 2D 中的“斜面”形状

我熟悉 Quartz 2D 绘图的一些基础知识,例如绘制基本形状和渐变等,但我不知道如何绘制具有“斜角”外观的形状,如下所示:

斜面圆 http://www.shaggyfrog.com/junk/beveled-circle.jpg

本质上,我们在一个角落有光泽,也许在对面的角落有一些阴影。我想 - 我没有制作这张图片,尽管我希望能够近似它。

有任何想法吗?这是在 iPhone 上,我想使用内置框架并尽可能避免使用任何外部库。

0 投票
4 回答
8499 浏览

iphone - buffer->CGImageRef->UIImage 的正确内存管理模式是什么?

我有一个函数,它接受一些位图数据并从中返回一个 UIImage *。它看起来像这样:

谁能在这里准确解释谁拥有什么记忆?我想正确清理,但我不确定如何安全地清理。文档对这些内容很模糊。如果我free在创建 UIImage 后在此函数的末尾像素,然后使用 UIImage,我会崩溃。如果我在创建 UIImage 后释放提供程序或 imageRef,我看不到崩溃,但它们显然一直在传递像素,所以我对释放这些中间状态感到不安。

(我知道根据 CF 文档,我应该在后者上调用 release,因为它们来自 Create 函数,但我可以在使用 UIImage 之前这样做吗?)大概我可以使用提供者的 dealloc 回调来清理像素缓冲区,但还有什么?

谢谢!

0 投票
1 回答
916 浏览

iphone - 在屏幕上绘制移动气泡的最快/最有效方法 - CoreAnimation,Quartz2D?

我正在向 iPhone 应用程序添加一些功能,并且可以使用一些帮助来选择最快/最有效/最佳实践方法来解决此问题:

在屏幕的上半部分,我有对话气泡(想想漫画书),它们是 UIImageViews 在屏幕上平移(动态 x 和 y 位置)。它是一个 UIImageView,因为有一个图像作为语音气泡的背景。

每个对话气泡都有一个匹配的图像在屏幕底部移动(在图层树的其他位置)

我想画一条尾巴(对话气泡中的那个三角形位),所以三角形的点正在跟踪下部图像,三角形的底部连接到上部 UIImageView 的底部。(从技术上讲,底座不必对接,只要我可以将背景图像的颜色与三角形匹配,它就可以重叠)。

我已经完成了所有的跟踪并使用 CGContextStrokePath 方法绘制了一条线,现在我被困在如何用三角形替换线。

我看过在 Quartz 中绘制一个三角形并填充它。我担心的是气泡每 1/10 秒重新定位一次,看起来仅绘制用于概念验证的线会对性能/视觉平滑度产生非常严重的影响。

我的一个想法是自己做三角函数,然后拉伸和旋转三角形的图像,以将每个对话气泡与较低的点连接起来。有些东西告诉我有一个更有效/更优雅的解决方案,但我无法通过文档看到它。任何有关您如何处理或将处理此问题的帮助都将不胜感激。谢谢。