Tôi muốn thay đổi kích thước hình ảnh bằng phương thức drawInRect, nhưng tôi cũng muốn duy trì tỷ lệ khung hình phù hợp, trong khi điền đầy đủ khung hình đã cho (như .ScaleAspectFill làm cho UIViewContentMode). Bất kỳ ai cũng có câu trả lời cho câu hỏi này?Thay đổi kích thước hình ảnh bằng drawInRect trong khi vẫn duy trì tỷ lệ khung hình như Scale Aspect Fill?
Đây là mã của tôi (khá đơn giản ...):
func scaled100Image() -> UIImage {
let newSize = CGSize(width: 100, height: 100)
UIGraphicsBeginImageContext(newSize)
self.pictures[0].drawInRect(CGRect(x: 0, y: 0, width: 100, height: 100))
let newImage = UIGraphicsGetImageFromCurrentImageContext()
UIGraphicsEndImageContext()
return newImage
}
Bạn là anh hùng của tôi – MScottWaller
Không tốt cho tôi. Tôi mất 40MB mỗi khi tôi chạy nó và nó làm hỏng ứng dụng của tôi bởi vì tôi đang cố gắng chia nhỏ nhiều ảnh cùng một lúc. – RowanPD
Sử dụng tỷ lệ để hình ảnh không bị mờ - 'UIGraphicsBeginImageContextWithOptions (targetSize, true, UIScreen.mainScreen(). Scale)' –