问题标签 [quartz-graphics]
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.
cocoa-touch - 绘制一条线的动画(Quartz 2D?)
您将如何在 iPhone 上的 UIView 中为线条的绘制设置动画?这可能吗?它可以被绘制,但它可以很容易地被动画化,所以它看起来是手绘的吗?
ios - iOS:如何使用 Quartz 测量字符串的宽度和高度?
在我提出问题之前,这是来自 Apple 的文档 re:how to determine the width of a string of using Quartz:
如果文本测量对您的应用很重要,则可以使用 Quartz 2D 函数来计算它们。但是,您可能首先考虑使用 ATSUI,它的优势在于文本布局和测量。ATSUI 有几个获取文本度量的函数。您不仅可以获得布局后文本指标,而且在极少数需要它们的情况下,您可以获得布局前文本指标。与您必须自己执行计算的 Quartz 不同,ATSUI 会为您计算测量值。例如,您可以通过调用 ATSUI 函数 ATSUMeasureTextImage 来获取文本的图像边界矩形。
如果您认为 Quartz 文本比 ATSUI(或 Cocoa)更适合您的需求,您可以按照以下步骤在 Quartz 绘制文本之前测量文本的宽度:
- 调用函数 CGContextGetTextPosition 获取当前文本位置。
- 使用函数 CGContextSetTextDrawingMode 将文本绘制模式设置为 kCGTextInvisible。
- 通过调用函数CGContextShowText来绘制文本,在当前文本位置绘制文本。
- 通过调用函数 CGContextGetTextPosition 确定最终文本位置。
- 从结束位置减去开始位置以确定文本的宽度。
以下是我的问题:
这真的是使用 Core Graphics 确定字符串宽度的最佳方法吗?它看起来很脆弱,因为我的文本与 2D 图形元素共存,所以我想对所有渲染使用相同的上下文。我希望会有一些紧凑的方法,比如:
/li>我读到 ATSUI 已经过时,将被 Core Text 取代。这是真的吗?如果是这样,是在 iOS 中吗?
objective-c - 在 Quartz 2D 中,是否可以通过删除除所需颜色通道之外的所有内容来屏蔽图像?
所以我尝试使用 Quartz CGImageCreateWithMaskingColors 函数,但他唯一的问题是它掩盖了您选择的颜色范围。
我想屏蔽除我选择的颜色范围之外的所有内容。例如,我想在图片中显示所有红色,但删除其他通道(绿色和蓝色)。
我在 Objective-C 中这样做,我是一个菜鸟,所以请给我例子:)
任何帮助是极大的赞赏。
iphone - 移动时锁定 UIImageView
我UIImageView
用touchesBegan
, touchesMoved
,touchesEnded
移动a 它运作良好,但触摸也适用于其他UIImageView
s,铺设。
如何在移动时锁定触摸活动UIImageView
?我已经用一个布尔值尝试过这个,但它没有奏效,因为touchesMoved
每次UIImageView
移动都会被调用,而不仅仅是一次。
iphone - GLPaint 保存图像
我正在尝试在 iPhone 上开发一个复杂的绘画应用程序。我目前正在使用 Quartz 进行绘图(例如CGContext
...)。不幸的是,Quartz 开销对于我正在做的绘图类型来说太慢了,我正在使用 GLPaint 示例作为参考点移植到 OpenGL 调用。
有没有办法从 EAGLview 类(相当于 Quartz 的 UIGraphicsGetImageFromCurrentImageContext
)中获取 UIImage/CGImage ?基本上我需要保存由 GLPaint 应用程序绘制的图片。
iphone - 从 imagePickerController 中选择的 Quartz 拉伸图像
我有一个应用程序,允许用户从相机或照片库中选择图像。然后它将该图像放置在 ImageView 中。然后我使用 Quartz 从该图像视图中获取图像并将其与一些基本叠加层等一起渲染。
问题在于,当从相机或相机胶卷中拾取图像时,Quartz 会以 90 度旋转绘制图像并垂直拉伸图像。从照片库中选择任何其他照片时没有问题。如果allowImageEditing 设置为YES,则不会出现此问题。
如果有人可以阐明它会有所帮助,我是这方面的新手。
我的 CameraViewController 中的代码
绘制 Quartz 的视图中的代码
macos - Is anything required to get a Quartz callback besides registering for it?
I'm trying to use CGDisplayRegisterReconfigurationCallback
to get display reconfiguration events in Quartz on Mac OS X. Here's the super-simple code:
However, the callback isn't getting called when I plug/unplug monitors, etc. CGDisplayRegisterReconfigurationCallback
returns success.
'new to os x development' would be an overstatement of my background knowledge here. Do I need to instantiate something like a quartz event loop to get callbacks to work?
iphone - 如何在 Objective-C 中设置显示顺序
我正在尝试使用 CGContext 路径绘制命令在 UIImageView 绘图和线条绘图之间混合,但绘制顺序不正确。我需要在图像顶部绘制路径,但反过来。
我实现它的方式:
- 在 UIImageView 中设置 UIImage 并将 UIImageView 添加为主视图的子视图。
- 接下来我使用'drawRect'(刷新绘制函数)使用UIKit CGContextStrokePath 函数绘制路径。
现在,除了直接使用 Context 图像绘制功能(我想避免这种情况,因为我通过几个 UIImageView 重用我的图像资源),有没有办法正确设置顺序(可能是一个标志集)?
问题再次是在 UIImageViews 之前绘制线条/路径(通过与父 UIView 的连接自动绘制),因此它们在图像/UIImageViews 上不可见。
谢谢
iphone - iphone初学者问题:画一个矩形。我究竟做错了什么?
试图弄清楚我在这里做错了什么。尝试了几件事,但我从未在屏幕上看到那个难以捉摸的矩形。现在,这就是我想做的——只需在屏幕上绘制一个矩形。
除了 CGContextSetRGBFillColor() 之外,我在所有内容上都收到“无效上下文”。在那之后获取上下文对我来说似乎有点错误,但我不在家看我昨晚使用的例子。
我也搞砸了其他事情吗?我真的很想今晚至少完成这么多……
谢谢,
肖恩。