我正在使用如下所示的字符串生成带有条形码的图像。
class BarCode {
class func fromString(string : String) -> UIImage? {
let data = string.dataUsingEncoding(NSASCIIStringEncoding)
let filter = CIFilter(name: "CICode128BarcodeGenerator")
filter!.setValue(data, forKey: "inputMessage")
return UIImage(CIImage: filter!.outputImage!)
}
}
所以这会生成一个准确的图像。但质量低。我怎样才能提高图像的质量。(我不能增加图像的大小,如果我这样做它看起来像模糊)
当CIImage
转换为 a 时,UIImage
它会使用由 确定的固定大小CIImage
,如果您随后尝试放大此图像,例如将其分配给 a UIImageView
,那么您将获得与放大位图相关的典型像素化。
在将图像分配给 UIImage 之前转换图像
if let barImage = filter.outputImage {
let transform = CGAffineTransformMakeScale(5.0, 5.0)
let scaled = barImage.imageByApplyingTransform(transform)
return(UIImage(CIImage: scaled))
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句