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

iphone - 如何在 iPhone 上使用 Quartz 显示文本?

我一直在尝试使用 Quartz 上下文显示文本,但无论我尝试了什么,我都没有运气让文本显示(尽管我能够显示各种其他 Quartz 对象)。有人知道我可能做错了什么吗?

例子:

0 投票
1 回答
4634 浏览

iphone - 通过延迟绘制的简单动画

我正在尝试为我的 iPhone 应用程序实现一些非常简单的线条绘制动画。我想在延迟后在我的视图上绘制一个矩形。我正在使用performSelector运行我的绘图方法。

然后通过以下方式调用:

但似乎在drawRowAndColumn:实际发送消息时,它不再有权访问有效的CGContextRef,因为我收到以下错误:

如果我用performSelector直接调用替换drawRowAndColumn,它工作正常。所以我的第一个想法是也传递CGContextRefvia performSelector,但我似乎无法弄清楚如何同时传递多个参数(这是另一个好问题。)

上面的代码有什么问题?

0 投票
6 回答
14054 浏览

iphone - iPhone:如何在窗口中绘制文本?

奇怪的情况 - 来自苹果的例子有效,但在我稍微改变它们之后,没有显示文本。这段代码正确地绘制了蓝色背景,但无论我做什么都拒绝在其上绘制文本:

0 投票
16 回答
154961 浏览

math - 如何将 atan2() 映射到 0-360 度

atan2(y, x)在 180° 处有不连续性,在顺时针方向切换到 -180°..0°。

如何将值范围映射到 0°..360°?

这是我的代码:

startPoint给定and endPoint,两个 XY 点结构,我正在计算滑动触摸事件的方向。该代码适用于 iPhone,但任何支持的语言atan2f()都可以。

0 投票
1 回答
1586 浏览

iphone - iPhone:通过给定的 CGPath 剪辑用户提供的 UIImage

在我的 iPhone 应用程序中,我需要让用户剪辑用户提供UIImage的给定动态生成的CGPath.

所有在给定(封闭)之外的CGPath东西都应该被剪掉,并且结果图像应该被路径的边界矩形修剪。

图像应使用软边框剪裁。也就是说,剪切路径边缘的 alpha 通道中应该有一个柔和的渐变,从透明像素到不透明像素。

是否有任何可用的解决方案来实现所描述的效果?

主要问题是如何获得那种柔和的渐变。我想过将我CGPath的蒙版光栅化并在光栅化后将其模糊,但我在 iPhone API 中没有发现任何关于模糊的信息……

至于裁剪,我计划使用CGPathGetBoundingBox数据,但重新阅读文档告诉我,生成的边界框将包括贝塞尔曲线和二次曲线的控制点,这对我来说是不可接受的。好吧,对非零 alpha 像素的图像进行良好的旧扫描应该可以代替。

0 投票
5 回答
11275 浏览

iphone - iPhone:模糊 UIImage

在我的 iPhone 应用程序中,我有一个黑白UIImage. 我需要模糊该图像(高斯模糊可以)。

iPhone 清楚地知道如何模糊图像,就像它在绘制阴影时那样

但是我没有在 API 中找到任何相关的内容。

我是否必须在没有硬件加速的情况下手动进行模糊?

0 投票
2 回答
4535 浏览

objective-c - Obj-C ...“初始化中的类型不兼容”错误

我的代码:

给出“初始化中的类型不兼容”错误...这是为什么呢?

0 投票
1 回答
3042 浏览

iphone - Quartz2D:如何画圆弧?

我想在这个草图中画一个圆弧:

草图

圆弧的角度应该是可变的,并且应该用渐变着色(例如,从红色开始到绿色)。你如何在 Quartz2D 中做到这一点?

感谢您的回答!斯特凡

0 投票
3 回答
4919 浏览

iphone - 如何通过使用 Quartz 在现有图像上绘制来创建新图像?

我有一个带有uiimageview的视图我通过相机分配这个uiimageview图像..现在我想在图像上做一些绘图..使用coregraphics.我想做这样的事情...通过触摸和绘制线条来选择一个区域线加入圆形或任何形状之类的东西..我想将该特定区域更改为其他内容,例如更改颜色。将其变为灰度..直到现在我能够画线...这是线条的图像绘制在 uiimage 视图上...

替代文字

但我无法弄清楚如何在 imageview 的图像上绘制..意思是如何修改 imageview 的图像???

我也想在单击清除按钮或撤消之类的东西时恢复图像..有人知道如何实现这一点吗?

单击裁剪按钮时如何创建矩形将矩形移动到屏幕上的任何位置...然后按下按钮裁剪图像...然后保存裁剪的图像..

0 投票
2 回答
1288 浏览

iphone - iPhone上的线程绘图

Apple 的文档指出 Quartz2D 通常是线程安全的。但是,在 NSOperation 期间绘制到图像上下文时,我遇到了崩溃(EXC_BAD_ACCESS)。

这是我目前的设置:

我怀疑崩溃与当前上下文有关,因为 UIGraphicsGetCurrentContext 文档声明它需要从主线程调用。这个对吗?还有其他方法可以获取图像上下文吗?