UIImagePNGRepresentation失去透明度

时间:2018-09-18 13:54:05

标签: ios swift uiimage

我正在开发一个使用网络协议UPnP连接多个设备的应用程序。

除其他外,我可以交换图像,它们是存储在项目文件夹中的文件夹中的文件。

为发送图像提供了预定义的方法。

if let imageRequested = UIImage(named:"logo.png"){

    let fileType = "image/png"
    let pngRepresentation = [UInt8](UIImagePNGRepresentation(imageRequested)!)
    let fileSize = UInt32(pngRepresentation.count)

    writeBegin!(aWriterData, fileSize, fileType)
    aWriteResource!(aWriterData, pngRepresentation, fileSize)
    aWriteEnd!(aWriterData)

}

但是,接收器在透明时会得到黑色背景的图像。我知道这不是接收器问题,因为有一个Android版本发送相同的图像,并且透明地接收它们。

为什么有什么主意?

1 个答案:

答案 0 :(得分:1)

UIImageJPEGRepresentation会将生成的图像转换为不支持透明度的JPEG。您确定使用UIImagePNGRepresentation而不是UIImageJPEGRepresentation吗?

如果您使用UIImagePNGRepresentation-很奇怪,它应该可以正常工作,能否提供更多详细信息?