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

ios - 如何在 iPhone 上动态创建彩色 1x1 UIImage?

我想基于 UIColor 动态创建一个 1x1 UIImage。

我怀疑这可以通过 Quartz2d 快速完成,我正在仔细研究文档以了解基础知识。然而,看起来有很多潜在的陷阱:没有正确识别每个事物的位数和字节数,没有指定正确的标志,没有释放未使用的数据等。

如何使用 Quartz 2d(或其他更简单的方法)安全地完成此操作?

0 投票
1 回答
322 浏览

iphone - iphone:代表问题(我认为)

我从 Apple 的 QuartzDemo 项目中获取了一些东西,并正在尝试对其进行修改。

我想创建一个带有按钮的屏幕,然后调用其余的东西来制作该演示中的矩形。

我创建了一个 UIViewController 来处理我的初始视图。它上面有一个开始按钮。开始按钮代码为:

它在与“controller.quartzViewDelate”在线时死亡:

出现错误:

我猜这意味着 startButtonAct 的发件人 id 对quartzViewDelegate 来说不是正确的——它需要的不是按钮的id。

但我完全停在这里。经过数小时的工作,我不知道如何使这项工作。我能发现的区别是,QuartzDemo使用的是navigationController,而不是viewController,但是在我的阅读中,似乎navigation controller基本是用于table的,我没有。

好的,我对这些东西很陌生,但是 Objective C 和 iPhone 编程,ObjC 有时让我很适应,但我已经追查过了,没有更多的想法。

请帮忙?

0 投票
1 回答
890 浏览

iphone - pushViewController 问题

我创建了一个 UIViewController,上面有一个按钮。该按钮的唯一工作是创建一个用于绘制一些矩形的窗口。(我从 Apple 的示例应用程序的“QuartzDemo”中获取了一些代码。)Objective C 真的很适合我……

当我尝试这个时,没有任何反应。

这是按钮的代码:

老实说,我不确定其他人还需要看什么,但这里有一些其他的东西:

请帮忙——这让我发疯了——我已经与同样的基本问题作斗争了一个星期......

0 投票
1 回答
1735 浏览

iphone - 在 iPhone 上“逐像素”更改颜色的最佳方法是什么?

我有一个游戏,它是这个游戏的 iPhone 改编版。我的船在这里开辟路径,然后如果该封闭区域内没有敌人,则封闭路径将被填满。

我已将 playField 视为 2D 数组(int playField[300][300])。

当需要更改封闭路径的颜色以显示已填充时,船的路径标记为 2,封闭的区域标记为 1。所以我已经填充了

我目前正在通过 CGContextMoveToPoint、AddLineToPoint 和 Quartz 的 StrokePath 填充路径,这花费了太多时间。

还有更简单的吗?就像预定义 1x1 图像并在每个像素处渲染它一样?或者只是获取和设置每个像素的颜色?

PS:我不知道OpenGL。如果您解释的内容与 OpenGL 有关,请详细说明。谢谢你。

0 投票
2 回答
5403 浏览

iphone - 在另一个类的 UIView 上调用 setNeedsDisplay

我有一个 UIView 子类,我根据触摸操作很多图形。所有 [self setNeedsDisplay] 调用似乎都很好。

但是,我使用了一个实例变量指针指向我的同一个 UIView 子类实例,然后尝试对其进行操作,然后从另一个 UIView 类调用 [UIViewSubClass setNeedsDisplay],而 DrawRect 永远不会被调用。您可以从哪里调用 setNeedsDisplay 是否有限制?

(当在另一个 UIView 子类上单击按钮时调用此方法。正在调用该方法,但不是 DrawRect)

0 投票
6 回答
2403 浏览

iphone - 在 iPhone 上,使用屏幕控件移动 UIImageView 的最佳方式是什么?

我正在开发这款游戏的 iPhone 版本。http://www.students.uni-mainz.de/rathb000/Fillit/Game.html

我正在使用 NSTimer 将船的位置更改 1 个像素,计时器的时间间隔为 0.002。

但是,我注意到如果我进一步缩短时间间隔,船不会更快地移动。事实上,0.05 和 0.002 之间没有区别。您必须作为 NSTimeInterval 提供的最短时间是否有限制?

目前,这艘船的移动速度太慢,以至于游戏无法令人兴奋。

此外,当我按下任何按钮移动船时,鸟类的移动(也由 NSTimer 实现)变得缓慢。

关于如何解决这个问题的任何想法?

0 投票
3 回答
5478 浏览

iphone - iPhone:使用 Quartz 2D 转换图像

我正在尝试使用 CGContextRef 对图像应用一些转换。我正在使用 CGContextTranslateCTM、CGContextScaleCTM 和 CGContextRotateCTM 函数,但为了简单起见,我们只关注第一个。我想知道为什么下面的代码会产生原始图像?!我错过了什么吗?

此外,翻译后,如何在此图像上绘制另一张图像但具有部分透明度(例如 alpha = 0.5)。

我搜索了很多但没有找到答案,感谢任何帮助...... :)

请注意,我正在从 pixelData 创建上下文,并且 tempImg 是在翻译之后创建的。初始化没有任何问题,因为当前正在生成原始图像,但问题在于我想的翻译..

0 投票
0 回答
908 浏览

iphone - 在我自己的 iPhone App 中重现街景效果

我的应用程序允许您以与您在地图应用程序中的街景中“查看”街道的方式类似的方式“环顾”房间。有谁知道重现这种效果的简单方法?

我确实有一张我希望用户环顾四周的图像(如街景图像)。

我有一些想法:

1)将图像放在滚动视图中,让用户平移和缩放。这似乎与您在街景周围平移时具有相同的效果,边缘附近的对象会拉伸以提供“镜头”类型的效果。

2)在滚动视图中绘制图像之前对图像应用变换,并在滚动期间重新应用变换。这种变换将在图像的当前查看部分创建镜头效果。

3)使用open GL创建一个空心球体,并将图像作为纹理应用到球体内部。

  1. 似乎行不通
  2. 似乎是我最好的选择,但我不知道在石英中使用什么变换来创造这种效果。不过我喜欢这个,因为它使用滚动视图,我不必重新创建平移、轻弹和捏合代码。
  3. 似乎矫枉过正,工作量太大

有任何想法吗?

0 投票
4 回答
19347 浏览

iphone - 检索 UIImage 的像素 alpha 值

我目前正在尝试获取 UIImageView 中像素的 alpha 值。我从 [UIImageView image] 获得了 CGImage 并由此创建了一个 RGBA 字节数组。Alpha 是预乘的。

然后,我使用 UIImageView 中的坐标计算给定 alpha 通道的数组索引。

但是我没有得到我期望的值。对于图像的完全黑色透明区域,我得到 alpha 通道的非零值。我是否需要转换 UIKit 和 Core Graphics 之间的坐标 - 即:y 轴是否倒置?还是我误解了预乘的 alpha 值?

更新:

@Nikolai Ruhe 的建议是关键。我实际上不需要在 UIKit 坐标和 Core Graphics 坐标之间进行转换。但是,在设置混合模式后,我的 alpha 值符合我的预期:

0 投票
6 回答
2697 浏览

iphone - 如何“轻弹” UIImageView?

我有一些 UIView,我希望用户能够在屏幕上“轻弹”。它们不是滚动视图。它们只包含一个光栅图像 (png)。任何人都可以指出一些示例代码等来帮助我入门吗?比“MoveMe”更重量级的东西可以帮助检测“轻弹”(相对于“轻推”或拖放),然后将视图移向“轻弹”的方向?

OpenGL 可能矫枉过正。如果可能的话,我想留在核心图形/动画领域。