透明颜色在模拟器上工作,但在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位格式保存即可