问题标签 [core-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 投票
3 回答
15569 浏览

iphone - iPhone + CGAffineTransFormRotate(pi/2) + statusBarHidden:YES + presentModalViewController = 20 像素的空白

我认为标题非常具有描述性:

我在一个视图上执行了所有这 3 个操作,结果是屏幕左侧有 20 个像素的空白区域(如果拿着 iPhone 是 LandscapeLeft)。

我试图通过执行 CGAffineTransFormTranslate(transform, -20, 0) 来修复它

这只是将视图“滑动”到空白下方。

这开始感觉像一个错误,其他人有这个问题吗?

为了澄清,我没有轮换任何观点。我正在感应设备的方向:

如果设备(不是界面)是横向的,那么:

转换是在显示之前将我的视图(在 IB 中创建)旋转到横向。

我的转换代码:

0 投票
2 回答
12132 浏览

iphone - CATransform3D 与 CGAffineTransform?

两者有什么区别?

我敢肯定,他们各有利弊,在某些情况下他们表现更好。

有比较两者的资源吗?

动画效果更好吗(我想是 CATransform3D)?为什么?

另外我想我在某处读到文本清晰度可能是一个问题,是否更适合缩放文本?

0 投票
16 回答
122316 浏览

iphone - UIImage:调整大小,然后裁剪

几天来,我一直在用自己的脸来面对这个问题,尽管我一直觉得自己正处于启示的边缘,但我根本无法实现我的目标。

我认为,在我设计的概念阶段提前,从 iPhone 的相机或库中抓取图像,将其缩小到指定的高度,使用等效于Aspect Fill选项的功能将是一件小事UIImageView(完全在代码中),然后裁剪掉任何不适合传递的 CGRect 的内容。

从相机或图书馆获取原始图像是微不足道的。我对其他两个步骤被证明是多么困难感到震惊。

附图显示了我想要实现的目标。有人会好心地握住我的手吗?到目前为止,我发现的每个代码示例似乎都会破坏图像、颠倒、看起来像废话、绘制越界或无法正常工作。

0 投票
2 回答
958 浏览

iphone - iPhone,您如何使用 coregraphics 从纹理页面中绘制?

我正在尝试研究如何使用 CoreGraphics 从 TexturePage 中进行绘制。

给定一个包含多个 64x64 打包纹理的纹理页面 (CGImageRef),我如何将该页面中的子区域渲染到设备上下文中。

CGContextDrawImage 似乎只需要一个目标矩形。我注意到 CGImageCreateWithImageInRect,但是这会创建一个新图像。我不想要一个新图像,我只想从原始图像中绘制。

我确信这是可能的,但是我是 iPhone 开发的新手。

非常感谢任何帮助。

谢谢

0 投票
3 回答
23422 浏览

objective-c - 用 CGImageMaskCreate 创建蒙版是全黑的(iphone)

我正在尝试从两个现有图像的合成中创建一个图像蒙版。

首先,我开始创建由一个小图像组成的合成,它是掩蔽图像,以及一个与背景大小相同的较大图像:

我可以输出这个 UIImage (MaskImageFull),它看起来不错。这是一个全尺寸的背景尺寸,它有一个白色的背景,我的蒙版对象是黑色的,在屏幕上的正确位置。

然后我通过这个传递 MaskImageFull UIImage:

问题是 retImage 是全黑的。如果我发送一个预制的 UIImage 作为掩码,它工作正常,只是当我尝试从多个图像中制作它时它会中断。

我认为这是一个色彩空间的事情,但似乎无法修复它。任何帮助深表感谢!

0 投票
10 回答
37549 浏览

iphone - 如何在 UIImage 上使一种颜色透明?

在我的 iPhone 应用程序上,我有一个 UIImage 实例。我想得到一个派生的 UIImage,它是第一个 UIImage 的结果,其中一种颜色(例如洋红色)是透明的。我怎样才能做到这一点?

0 投票
1 回答
8503 浏览

iphone - 在 UIImageView 中画一条线的问题

在我的应用程序中,我可以通过下面的代码在 UIImageView 中画一条线,当我调用该函数时,我想重画这条线更长的时间,但是,输出结果与预期不同,它只会画一条新线并删除旧的,长度保持不变,只是 y 位置不同,我不知道我的代码哪一行是错误的,或者我没有以正确的方式理解 CGContext 类,请帮助我整天摸不着头脑,找不到解决问题

0 投票
5 回答
4266 浏览

iphone - 使用 Core Graphics/Cocoa,您可以从后台线程绘制位图上下文吗?

我在屏幕外绘制到一个CGContext创建的 using CGBitmapContextCreate,然后CGImage从中生成一个 withCGBitmapContextCreateImage并将其绘制到我的视图中drawRect(我还在上面绘制了一些其他的东西 - 这是一个隔离不同级别的可变性和复杂性的练习)。

当它全部在主线程上运行时,这一切都很好。然而,以这种方式拆分的动机之一是让屏幕外部分可以在后台线程上运行(我认为这应该没问题,因为它没有渲染到屏幕上下文)。

但是,当我这样做时,结果图像是空的!我检查了代码,并放置了明智的 NSLog 以验证一切都以正确的顺序发生。

我的下一步是将其归结为重现问题的最简单的代码(或找到我遗漏的一些愚蠢的东西并修复它)——如果有必要,我会在此处发布一些代码。但我首先想在这里检查一下我不会走错路。我在 googlesphere 的旅行中找不到任何可以说明问题的东西——但一位朋友确实提到他在尝试在后台线程中调整图像大小时遇到​​了类似的问题——这表明这里可能存在一些一般限制。

[编辑]

感谢您到目前为止的回复。如果没有别的,他们告诉我,至少我不是唯一一个对此没有答案的人——这是我想知道的一部分。在这一点上,我将把额外的工作放在尽可能简单的示例上,并且可能会返回一些代码或更多信息。同时保持任何想法:-)

需要提出的一点:有几个人在API 方面使用了术语线程安全。应该注意的是,在这种情况下有两种类型的线程安全:

  1. API 本身的线程性——即它是否可以在多个线程中使用(全局状态和其他重入问题,例如 C 的 strtok 是 API 可能不是线程安全的常见原因)。
  2. 单个操作的原子性 - 多个线程是否可以通过 API 与相同的对象和资源进行交互,而无需应用程序级锁定?

我怀疑到目前为止提到的是第一种类型,但如果你能澄清一下,我将不胜感激。

[edit2 - 解决了!]

好的,我得到了一切工作。执行摘要是问题出在我身上,而不是位图上下文本身。

在我的后台线程中,就在我进入位图上下文之前,我正在对其他一些对象进行一些准备。事实证明,间接地,对导致 setNeedsDisplay 在某些视图上调用的其他对象的调用!通过将执行此操作的部分分离到主线程,它现在一切正常。

因此,对于遇到这个问题的人想知道他们是否可以在后台线程上绘制位图上下文,答案是可以(这里和答案中已经提出了警告)。

谢谢大家

0 投票
1 回答
396 浏览

c++ - 在 Carbon 中创建 JPEG 时的 JPEG 质量

我正在编写一个 Carbon 应用程序,我们正在创建 JPEG 文件。我目前正在使用 Quartz CGImageDestinations 和 kCGImagePropertyJFIFDictionary 来执行此操作。但是,JFIF 似乎没有任何关于压缩质量的条目。有谁知道如何设置这个?

谢谢

0 投票
1 回答
2391 浏览

iphone - iPhone上的CoreGraphics,试图绘制一个“药丸”型椭圆

我正在尝试绘制一个药丸类型的椭圆,就像在 Apple 的邮件应用程序中一样,它显示收件箱中的电子邮件数量。知道为什么以下内容没有绘制吗?