で規模:)方法が私の目的である、私は750の画像幅を持っていると私は128 にそれを拡張したいそれから私はUIImageのinitメソッドが init(data:scale:)(データ:ここスウィフト3.0
と呼ばれました次は
func scaleImage(image:UIImage, ToSpecificWidth targetWidth:Int) -> UIImage{
var scale = Double(targetWidth)/Double(image.size.width)
let scaledImage = UIImage(data: UIImagePNGRepresentation(image)! as Data, scale: CGFloat(scale))
return scaledImage!
}
print("originImageBeforeWidth: \(portrait?.size.width)") // output: 750
let newImage = Tools.scaleImage(image: portrait!, ToSpecificWidth: 128) // the scale is about 0.17
print("newImageWidth: \(newImage.size.width)") // output: 4394.53125
どうやら新しい幅が離れすぎて私の意図 からである私は750 * 0.17 = 128 を探しています。しかし、私は= 4394 750/0.17
を得る私のコードです0その後、私はここに私のscaleImage funcを は私がしたい正確に何ですが、コードスケール= 1 /スケールが起こっている
何意味をなさない更新されたコード
func scaleImage(image:UIImage, ToSpecificWidth targetWidth:Int) -> UIImage{
var scale = Double(targetWidth)/Double(image.size.width)
scale = 1/scale // new added
let scaledImage = UIImage(data: UIImagePNGRepresentation(image)! as Data, scale: CGFloat(scale))
return scaledImage!
}
print("originImageBeforeWidth: \(portrait?.size.width)") // output: 750
let newImage = Tools.scaleImage(image: portrait!, ToSpecificWidth: 128) // the scale is about 5.88
print("newImageWidth: \(newImage.size.width)") // output: 128
ある変更ここに?
http://stackoverflow.com/questions/31314412/how-to-resize-image-in-swiftこれをチェックする –