iphone - मैं uiimage की ऊंचाई और चौड़ाई कैसे प्राप्त कर सकता हूं


227

मेल में URL छवि से

मैं मेल व्यू में इमेज जोड़ रहा हूं। यह पूरी छवि दिखाएगा। लेकिन मैं गणना करना चाहता हूं, आनुपातिक रूप से छवि की ऊंचाई और चौड़ाई को बदलना।

मैं कैसे ऊंचाई और चौड़ाई प्राप्त कर सकता हूं UIImage?


जवाबों:


424
let heightInPoints = image.size.height
let heightInPixels = heightInPoints * image.scale

let widthInPoints = image.size.width
let widthInPixels = widthInPoints * image.scale

3
अंक। पिक्सेल प्राप्त करने के लिए स्केल प्रॉपर्टी से गुणा करें।
रॉमनी

वह अजीब था। मैंने कैमरे से एक तस्वीर ली और उसकी ऊंचाई> चौड़ाई मानी। लेकिन चौड़ाई के बिंदु 1280 और ऊंचाई 720 थे। उन्हें क्या समस्या है?
हेनरी

1
जब कैमरा रोल (UIImagePickerController के माध्यम से) छवि लोड हो रहा है, तो पैमाने हमेशा 1.0 प्रतीत होता है, लेकिन image.size image.size पिक्सल में नहीं दिया गया है। (यह वास्तव में आधा पिक्सेल आकार है)। -> मुझे उचित पिक्सेल आकार कैसे मिलता है - iPhone 6/7 प्लस पर UIScreen.main.scale कारण का उपयोग नहीं किया जा सकता है, लेकिन image.size वही रहता है
benrudhart

ऐसा लगता है कि image.scale डिफ़ॉल्ट रूप से 1.0 ही है, जैसा कि पिछली टिप्पणी में बताया गया है। यह कहा जा रहा है, मुझे डिफ़ॉल्ट सिम्युलेटर छवि के लिए (3000, 2002) जैसे मान मिल रहे हैं, ताकि वास्तविक पिक्सेल होना चाहिए और बिंदु मूल्य नहीं, सही? यह पोस्ट कुछ साल पुरानी है इसलिए शायद चित्र। आकार वास्तविक पिक्सेल मान को प्रतिबिंबित करने के लिए बदल गया है।
ऑस्टिन व्हिटेलॉ

35

sizeUIImage उदाहरण पर संपत्ति का उपयोग करें । देखें प्रलेखन अधिक जानकारी के लिए।


11
UIImage *img = [UIImage imageNamed:@"logo.png"];

CGFloat width = img.size.width;
CGFloat height = img.size.height;

6

ऊपर दिए गए कुछ उपकरण डिवाइस को घुमाते समय अच्छी तरह से काम नहीं करते हैं।

प्रयत्न:

CGRect imageContent = self.myUIImage.bounds;
CGFloat imageWidth = imageContent.size.width;
CGFloat imageHeight = imageContent.size.height;

2
UIImageView *imageView = [[[UIImageView alloc]initWithImage:[UIImage imageNamed:@"MyImage.png"]]autorelease];

NSLog(@"Size of my Image => %f, %f ", [[imageView image] size].width, [[imageView image] size].height) ;

0
    import func AVFoundation.AVMakeRect

    let imageRect = AVMakeRect(aspectRatio: self.image!.size, insideRect: self.bounds)

    x = imageRect.minX

    y = imageRect.minY

UIImage से दूसरे फ्रेमवर्क का उपयोग करने के लिए इसका सरल है।
सत्यम

0

वहाँ बहुत सारे उपयोगी समाधान हैं, लेकिन विस्तार के साथ कोई सरलीकृत तरीका नहीं है। एक्सटेंशन के साथ समस्या को हल करने के लिए यह कोड है:

extension UIImage {

    var getWidth: CGFloat {
        get {
            let width = self.size.width
            return width
        }
    }

    var getHeight: CGFloat {
        get {
            let height = self.size.height
            return height
        }
    }
}

-2
let imageView: UIImageView = //this is your existing imageView

let imageViewHeight: CGFloat = imageView.frame.height

let imageViewWidth: CGFloat = imageView.frame.width

आप दिखाते हैं कि imageView का आकार कैसे प्राप्त करें, यह छवि के आकार के साथ समान नहीं है
ramzesenok
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.