我正在开发一个使用网络协议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版本发送相同的图像,并且透明地接收它们。
为什么有什么主意?
答案 0 :(得分:1)
UIImageJPEGRepresentation会将生成的图像转换为不支持透明度的JPEG。您确定使用UIImagePNGRepresentation而不是UIImageJPEGRepresentation吗?
如果您使用UIImagePNGRepresentation-很奇怪,它应该可以正常工作,能否提供更多详细信息?