Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/115.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 如何获取uiimage的高度和宽度?_Ios_Uiimage_Cgsize - Fatal编程技术网

Ios 如何获取uiimage的高度和宽度?

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

从URL

我正在将图像添加到邮件视图。它将显示完整的图像。但是我想计算,按比例改变图像的高度和宽度


如何获取
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
        }
    }
}