大佬教程收集整理的这篇文章主要介绍了ios – UIImage缩小规模 – 失去分辨率,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
println("StarTing Size is \(image!.sizE)") println("New Size is: \(sender.frame.sizE))") println("Initial Scale: \(image!.scalE)") image = imageResize(image!,size: CGSize(width: sender.frame.width,height: sender.frame.height)) println("Final Size is \(image!.sizE)") println("Final Scale: \(image!.scalE)")
以下是上述打印语句的控制台输出:
StarTing Size is (750.0,750.0) New Size is: (78.0,78.0)) Initial Scale: 1.0 Final Size is (78.0,78.0) Final Scale: 2.0
这是imageResize函数
func imageResize(image:UIImage,size:CGSizE)-> UIImage { UIGraphicsBeginImageContextWithOptions(size,false,0) var context = UIGraphicsGetCurrentContext() CGContextSeTinterpolationQuality(context,kCGInterpolationHigh) image.drawInRect(CGRect(origin: CGPointZero,size: sizE)) let scaledImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return scaledImage }
最后,这是截图:
更新:
为了澄清,屏幕截图底部的图像来自键盘.它是一个UIButton,其中放置了全尺寸(750×750)图像.当我将图像复制到粘贴板时,我从全尺寸图像开始并缩小尺寸以匹配键盘中UIButton的框架.因此,我试图使文本消息中的图像具有相同的大小,并且在键盘中具有相同的图像清晰度.
更新#2
我更新了图像大小调整功能,根据屏幕比例调整图像大小:
func imageResize(image:UIImage,size:CGSizE)-> UIImage { let scale = UIScreen.mainScreen().scale let newSize = CGSize(width: size.width / scale,height: size.height / scalE) UIGraphicsBeginImageContextWithOptions(newSize,scalE) var context = UIGraphicsGetCurrentContext() CGContextSeTinterpolationQuality(context,size: newSizE)) let scaledImage = UIGraphicsGetImageFromCurrentImageContext() UIGraphicsEndImageContext() return scaledImage }
这是控制台输出将有关图像的一些细节:
StarTing Size is (750.0,78.0)) Initial Scale: 1.0 Final Size is (39.0,39.0) Final Scale: 2.0
最后,这是设备上的图像(iPhone 6):
如您所见,尽管图像具有适当的帧,但与键盘中的UIButton相比,它看起来很模糊.我应该能够达到与UIButton相同的分辨率,因为我在两种情况下都以全尺寸图像开始.有关为什么我失去决议的想法?
更新#3
我更新了我的代码,将图像乘以比例而不是除以它.
let newSize = CGSize(width: size.width * scale,height: size.height * scalE)
结果如下:
StarTing Size is (750.0,78.0)) Initial Scale: 1.0 Final Size is (156.0,156.0) Final Scale: 2.0
我真的很感谢你的帮助,但我仍然不理解如何将这些全部拉到一起以获得合适大小的照片.为了完全阐明我的目标,我试图使复制到消息中的图像看起来与键盘内UIButton中的图像完全相同.这是我用来将图像添加到粘贴板以将其复制到消息文本中的代码.在调整图像大小后运行粘贴板代码:
pb.setData(UIImagePNGRepresentation(imagE),forPasteboardType: typE)
以上是大佬教程为你收集整理的ios – UIImage缩小规模 – 失去分辨率全部内容,希望文章能够帮你解决ios – UIImage缩小规模 – 失去分辨率所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。