透明颜色在模拟器上工作,但在iPhone上变为黑色

透明颜色在模拟器上工作,但在iPhone上变为黑色,iphone,cocoa-touch,image,transparency,Iphone,Cocoa Touch,Image,Transparency,我试图画一个有一些透明区域的图像。 我使用 image = [UIImage imageNamed:@"testimage.png"]; 并使用 [image drawAtPoint:CGPointMake(0,0)]; 我在其上绘制图像的UIView不是不透明的(并且具有透明的背景色) 问题是在模拟器上一切正常,但当我在iPhone上运行应用程序时,透明的颜色变成黑色!有人能指出我的错误吗?今天我的一张照片也有同样的问题。我已经在GraphicConverter中创建了我自己的图片 我的解

我试图画一个有一些透明区域的图像。 我使用

image = [UIImage imageNamed:@"testimage.png"];
并使用

[image drawAtPoint:CGPointMake(0,0)];
我在其上绘制图像的UIView不是不透明的(并且具有透明的背景色)


问题是在模拟器上一切正常,但当我在iPhone上运行应用程序时,透明的颜色变成黑色!有人能指出我的错误吗?

今天我的一张照片也有同样的问题。我已经在GraphicConverter中创建了我自己的图片

我的解决方案是在图片中添加一个alpha通道。我通过GraphicConverter使用Picture=>Alpha Channel=>Create Alpha Channel with transparency中的命令实现了这一点。这可能是因为我使用德语设置的应用程序时,该命令的名称与您不同


希望这有帮助。

我通过将其加载到colorsync并保存来解决问题

这个问题的正确答案是保存图像时使用的.PNG格式。如果另存为PNG-8,则会更频繁地遇到此问题,因为它只支持一种透明颜色。如果打开.PNG文件,然后将其重新保存为24位格式,您将获得真正的透明度

讨论和澄清的参考资料

  • 编辑:为了澄清,.PNG没有“alpha通道”,所以Chris的答案是误导性的。只需确保在启用透明度的情况下以24位格式保存即可

好吧,我现在已经尝试了另一个透明的测试图像,它在我的iPhone上运行良好!irfanView使iPhone上错误显示的图像透明。它在Mac的封面流程中看起来是透明的,但我猜iPhone不接受所有类型的png:s…你是如何使用irfanView将透明应用到你的图像的?太棒了。谢谢你的详细解释。