0
私はサイズ変更画像を保存することによって画像のサイズを変更しようとしています。しかし、サイズ変更された画像を囲むこの空白があります。私は私が間違ってやっている何ホワイトスペースサイズ変更画像の周り
extension NSImage {
func resizeTo(width: CGFloat, height: CGFloat) -> NSImage {
let ratioX = width/size.width
let ratioY = height/size.height
let ratio = ratioX < ratioY ? ratioX : ratioY
let newHeight = size.height * ratio
let newWidth = size.width * ratio
let canvasSize = CGSize(width: width, height: CGFloat(ceil(width/size.width * size.height)))
let img = NSImage(size: canvasSize)
img.lockFocus()
let context = NSGraphicsContext.current()
context?.imageInterpolation = .high
draw(in: NSRect(origin: .zero, size: NSSize(width: newWidth,height: newHeight)), from: NSRect(origin: .zero, size: size) , operation: .copy, fraction: 1)
img.unlockFocus()
return img
}
}
?
コードを改善するにはどうすればよいですか?アドバイスをお願いします。 – techno
イメージのサイズを増やさないようにコードを改良したいのであれば、ratio: 'if(ratio)> 0 ratio = 1;' – Gedrox
のようなチェックを追加するだけですので、 'var ratio = ratioX 0 { ratio = 1 } –
techno