问题标签 [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.

0 投票
1 回答
1494 浏览

iphone - 为什么我必须导入 Quartz Framework,而不是 Core Graphics Framework?

我有一个 ViewController 类,我在其中使用了一些 CG____ 结构。核心图形没有导入。所以我认为这很好,并尝试在不导入 Quartz 框架的情况下开始使用 CALayer。它没有用,我确实要导入它。

我想我错过了为什么我必须导入这个,而不是另一个?

0 投票
3 回答
1154 浏览

iphone - 为什么我不能设置 UIImageVies 的边界矩形宽度?

当我尝试这个

然后我收到一个错误:分配中的左值无效

但是当我这样做时,它会编译。虽然这是很多额外的工作

虽然编译,但什么都不会发生。我的 UIImageView 的框架是 300 宽,并填充了正好 300 像素宽度的图像。它非常适合。所以现在我想拉伸那个图像(只是为了好玩),所以我必须使边界矩形的宽度更小。让我们说50.0。但不幸的是,图像并没有像预期的那样分层。只是什么都没有发生。在这段代码下面的两行,我移动了图像。这样可行。

0 投票
2 回答
2718 浏览

iphone - 使用 Quartz 2D / Core Graphics 完成此绘图的最佳方法是什么?

作为我的应用程序中一个视图的背景,我想在其框架内绘制一个相当简单的矩形边框。这本质上是一个矩形渐变:框架周围有一条黑线,在大约 10-20 像素处逐渐变白。不幸的是,据我所知,Core Graphics 不提供矩形渐变(使用CGGradientCGShading)。所以我想知道最好的方法是什么。

我想到的两个:

  1. 绘制一系列同心矩形,每个矩形颜色较浅,每边插入 1px。我想不出更简单的方法,但我必须自己做所有的梯度计算,而且可能是很多图形操作。
  2. 在线性模式下使用CGGradient,每边一次。但是为了这个工作,我想我需要先为每一边设置一个梯形剪裁区域,以便渐变在角落处斜接。

似乎应该有一种方法可以使用路径抚摸来做到这一点,但似乎没有一种方法可以定义一种在每一侧都有不同方向的模式。

0 投票
1 回答
1849 浏览

objective-c - 如何子类化 CALayer 以返回预样式层?

您如何子类化 CALayer 以便返回已设置样式属性的图层?

以便:

将创建具有这些属性的层;

这样我就可以设置它的框架并将其添加到树中。

但我想我的问题真的可能只是,你如何子类化一个对象,以便它具有在创建时已经设置的属性。可能的?

0 投票
1 回答
176 浏览

c++ - 在 Quartz 插件中查找左上角

我有一个用于查看图像的 Mac 插件。它最初是用 Quickdraw 编写的,我正在尝试将其移至 Quartz。

我目前的问题是起源。在 QD 中,原点(明智地)是插件矩形的左上角。在 Quartz 中,它似乎是插件矩形顶部下方的一个屏幕高度(不包括 firefox 按钮等)。这实际上是在我的插件矩形中间的某个随机位置。

这也意味着我需要知道浏览器窗口的绘图部分的大小。我确定我可以算出一个窗口有多大,但是我如何算出标签等占用了多少空间?Mac 不知道这些事情,是吗?

在相关的说明中,有人知道为什么 Apple 决定将原点放在左下角吗?对我来说似乎有点愚蠢。

0 投票
4 回答
2992 浏览

iphone - 基准 UIView drawRect: 方法

我正在用 Objective-C 编写一个 iPhone 应用程序,它在视图中使用了一些自定义绘图,我想对我的代码的各种修订进行基准测试,看看有什么真正有帮助。我打算通过设置一个新的应用程序来做到这一点,将我的自定义绘图代码添加到视图的 drawRect: 方法中,然后,在视图控制器的 for 循环中,发送[UIView setNeedsDisplay]大量时间并计时需要多长时间去完成。然而,这些setNeedsDisplay调用似乎被缓存了,所以即使我在 for 循环中调用它 1000 次,该drawRect:方法也只被调用一次。另外,我尝试直接调用 drawRect: 但我需要一个图形上下文来进行一些绘图,并且当我不使用setNeedsDisplay:UIGraphicsGetCurrentContext() 时不会给我一个上下文。

有什么建议么?

谢谢,

凯尔

0 投票
2 回答
52238 浏览

iphone - How do I draw a line on the iPhone?

I am a beginner at iPhone programming, and would like to draw a line to the phone screen for the purpose of study using Quartz and UIKit.

How do I start drawing?

0 投票
2 回答
2233 浏览

iphone - 在 iPhone 邮件应用程序上绘制蓝色“未读点”

有没有人有一个例子来说明如何绘制苹果邮件应用程序中使用的蓝色“未读点”?这是一个具体的:

在此处输入图像描述

用 Quartz2d 画一个椭圆很简单,但是阴影+渐变的巧妙使用使这个看起来真的是 3d 的。

0 投票
1 回答
8079 浏览

core-animation - iPhone SDK:如何使用半透明渐变和投影绘制圆角矩形

我正在尝试通过为我的应用程序手动创建部分 UI(在本例中为图表)在 iPhone 上绘图。本质上,我想绘制一个带有圆角、阴影和半透明渐变的矩形作为矩形的填充。这是我的 Photoshop 模型的屏幕截图: alt text http://img36.imageshack.us/img36/6097/picture1nvf.png

我已经使用 CALayer 创建了一个带有阴影的实心圆角矩形,但是为了让形状和阴影完全显示出来,我必须设置一个不允许我制作的背景颜色半透明渐变是图层的唯一填充。

我已经为此工作了一段时间,并且已经阅读了整个 Core Animation 编程指南,但我还没有取得任何进一步的进展。我觉得答案就在我的眼皮底下。

我错过了什么?

PSI 知道我可能会使用图像文件来完成此操作,但我正在尝试以这种方式进行操作,因为我想学习,并且有一天我想用它来做一些更精美的动画。

0 投票
2 回答
1284 浏览

iphone - 如何获得像星际迷航应用程序一样的过渡?

我已将 ViewTransitions 应用程序修改为使用 kCAScrollHorizo​​ntally。我已在应用程序委托中设置转换以使用 kCATransitionPush 而不是 kCATransitionFade。但是,我仍然会淡入淡出。我怎样才能像星际迷航应用程序(http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=305916616&mt=8)一样让视图在横向上滑动?