相关疑难解决方法(0)

传递UIImage.CGImage时,CGContextDrawImage将图像上下颠倒

有谁知道为什么CGContextDrawImage会把我的形象颠倒过来?我从我的应用程序加载图像:

UIImage *image = [UIImage imageNamed:@"testImage.png"];
Run Code Online (Sandbox Code Playgroud)

然后简单地要求核心图形将其绘制到我的上下文中:

CGContextDrawImage(context, CGRectMake(0, 0, 145, 15), image.CGImage);
Run Code Online (Sandbox Code Playgroud)

它呈现在正确的位置和尺寸,但图像是颠倒的.我一定错过了一些非常明显的东西吗?

cocoa-touch core-graphics ios cgcontextdrawimage

178
推荐指数
7
解决办法
11万
查看次数

我们应该使用哪个CGImageAlphaInfo?

石英2D节目指南定义了各种α-存储模式的可用性:

在此输入图像描述

我们应该将哪些用于RGB上下文,为什么

对于非不透明的上下文,kCGImageAlphaPremultipliedFirstkCGImageAlphaPremultipliedLast

对于不透明的上下文,kCGImageAlphaNoneSkipFirst还是kCGImageAlphaNoneSkipLast

价值的选择是否会影响绩效?

通常,我会看到kCGImageAlphaPremultipliedFirst非透明和kCGImageAlphaNoneSkipFirst不透明的上下文.有些人说这些表现更好,但我没有看到任何关于此的确凿证据或文件.

快速搜索GitHub的显示,开发商的青睐kCGImageAlphaPremultipliedFirstkCGImageAlphaPremultipliedLastkCGImageAlphaNoneSkipLast超过kCGImageAlphaNoneSkipFirst.可悲的是,这只不过是轶事证据.

macos performance core-graphics alpha-transparency ios

11
推荐指数
1
解决办法
4408
查看次数

使用CGBitmapInfo和CGImageAlphaInfo进行按位操作

我在使用Swift CGImageAlphaInfoCGBitmapInfo在Swift中执行按位操作时遇到了麻烦.

特别是,我不知道如何移植这个Objective-C代码:

bitmapInfo &= ~kCGBitmapAlphaInfoMask;
bitmapInfo |= kCGImageAlphaNoneSkipFirst;
Run Code Online (Sandbox Code Playgroud)

以下简单的Swift端口'CGBitmapInfo' is not identical to 'Bool'在最后一行产生了一些有点神秘的编译器错误:

bitmapInfo &= ~CGBitmapInfo.AlphaInfoMask
bitmapInfo |= CGImageAlphaInfo.NoneSkipFirst
Run Code Online (Sandbox Code Playgroud)

看一下源代码,我注意到它CGBitmapInfo被声明为一段RawOptionSetType时间CGImageAlphaInfo不是.也许这与它有关?

关于按位运算符的官方文档不包含枚举,这没有任何帮助.

bit-manipulation core-graphics swift

11
推荐指数
2
解决办法
3912
查看次数