Ios 如何获取uiimage的高度和宽度?
从URL 我正在将图像添加到邮件视图。它将显示完整的图像。但是我想计算,按比例改变图像的高度和宽度Ios 如何获取uiimage的高度和宽度?,ios,uiimage,cgsize,Ios,Uiimage,Cgsize,从URL 我正在将图像添加到邮件视图。它将显示完整的图像。但是我想计算,按比例改变图像的高度和宽度 如何获取UIImage的高度和宽度?在UIImage实例上使用size属性。有关更多详细信息,请参阅。上面的一些传感器在旋转设备时无法正常工作 let heightInPoints = image.size.height let heightInPixels = heightInPoints * image.scale let widthInPoints = image.size.width l
如何获取
UIImage
的高度和宽度?在UIImage实例上使用size
属性。有关更多详细信息,请参阅。上面的一些传感器在旋转设备时无法正常工作
let heightInPoints = image.size.height
let heightInPixels = heightInPoints * image.scale
let widthInPoints = image.size.width
let widthInPixels = widthInPoints * image.scale
尝试:
有很多有用的解决方案,但是没有扩展的简化方法。以下是通过扩展解决此问题的代码:
extension UIImage {
var getWidth: CGFloat {
get {
let width = self.size.width
return width
}
}
var getHeight: CGFloat {
get {
let height = self.size.height
return height
}
}
}
要点。乘以比例属性得到像素。这很奇怪。我用相机拍了一张照片,假设它的高度>宽度。但宽度点为1280,高度点为720。它们有什么问题?当从相机卷(通过UIImagePickerController)加载图像时,比例似乎始终为1.0,但image.size不是image.size的单位。(实际上是像素大小的一半)。->如何获得正确的像素大小?无法使用UIScreen.main.scale,因为iPhone 6/7 Plus上的像素大小为3,但image.size保持不变。如前一条评论所述,image.scale默认值仅为1.0。也就是说,对于默认的模拟器图像,我得到的值是(3000,2002),所以这必须是实际像素,而不是点值,对吗?这篇文章已经有几年的历史了,所以可能image.size已经更改以反映实际的像素值。从UIImage中使用它比使用其他框架更简单。您将演示如何获取imageView的大小,它与图像的大小不同
CGRect imageContent = self.myUIImage.bounds;
CGFloat imageWidth = imageContent.size.width;
CGFloat imageHeight = imageContent.size.height;
UIImage *img = [UIImage imageNamed:@"logo.png"];
CGFloat width = img.size.width;
CGFloat height = img.size.height;
let imageView: UIImageView = //this is your existing imageView
let imageViewHeight: CGFloat = imageView.frame.height
let imageViewWidth: CGFloat = imageView.frame.width
import func AVFoundation.AVMakeRect
let imageRect = AVMakeRect(aspectRatio: self.image!.size, insideRect: self.bounds)
x = imageRect.minX
y = imageRect.minY
extension UIImage {
var getWidth: CGFloat {
get {
let width = self.size.width
return width
}
}
var getHeight: CGFloat {
get {
let height = self.size.height
return height
}
}
}