我的UIImage
包含从磁盘加载的.png图像,用于在背景视图中设置backgroundColor。这很有效。
我现在想要转换为.JPG以删除透明度/ alpha通道。我尝试了一些变化,但这里有一个例子:
var orgImage: UIImage? = nil;
var newImage: UIImage? = nil;
orgImage = UIImage(contentsOfFile: "...");
let tmpData: NSData? = UIImageJPEGRepresentation(orgImage!, 1.0);
newImage = UIImage(data: tmpData);
然而,当使用newImage
作为背景时,图像会放大。我不想要这样。我想要相同的图像,只需转换为JPG。
我用的代码是:
// works
myView.backgroundColor = UIColor(patternImage: orgImage!)
// appears zoomed/scaled
myView.backgroundColor = UIColor(patternImage: newImage!)
我已尝试(用于测试目的)将PNG转换为PNG(通过磁盘或NSData)并保存/加载到磁盘或从磁盘加载。所有测试都产生相同的结果。
知道我做错了什么吗?我在iOS模拟器中测试。