আইফোন - আমি কীভাবে উচ্চতা এবং প্রস্থের উচ্চতা পেতে পারি


227

মেলতে ইউআরএল চিত্র থেকে

আমি মেল ভিউতে ছবি যুক্ত করছি। এটি পূর্ণ চিত্র প্রদর্শিত হবে। তবে আমি গণনা করতে চাই, আনুপাতিকভাবে চিত্রটির উচ্চতা এবং প্রস্থ পরিবর্তন করুন।

আমি কিভাবে উচ্চতা এবং প্রস্থ পেতে পারি UIImage?


উত্তর:


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

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

3
পয়েন্ট। পিক্সেলগুলি পেতে স্কেল সম্পত্তি দ্বারা গুণ করুন।
rmooney

এটা ছিল আশ্চর্যজনক. আমি ক্যামেরা দ্বারা একটি ফটো নিয়েছি এবং এর উচ্চতা> প্রস্থ বলে মনে করি। তবে প্রস্থের পয়েন্টগুলি 1280 এবং উচ্চতা 720 ছিল them এগুলিতে কী সমস্যা?
হেনরি

1
ক্যামেরা রোল থেকে চিত্রটি লোড করার সময় (ইউআইআইমেজপিকার কনট্রোলারের মাধ্যমে) স্কেল সর্বদা 1.0 বলে মনে হয় তবে চিত্র.সাইজ চিত্রটি দেয় না s সাইজটি পিক্সেলগুলিতে দেওয়া হয় না। (এটি আসলে পিক্সেল আকারের অর্ধেক)। -> আমি সঠিক পিক্সেল আকারটি কীভাবে পাই - আইফোন //7 প্লাসে ইউআইএস স্ক্রিন.মেইন.স্কেল কারণটি ব্যবহার করতে পারি না, তবে চিত্র.সাইজ একই থাকে
১১

পূর্ববর্তী মন্তব্যে উল্লিখিত হিসাবে এটি মনে হয় যে চিত্র.স্কেলটি ডিফল্টরূপে মাত্র 1.0। বলা হচ্ছে, আমি একটি ডিফল্ট সিমুলেটর চিত্রের জন্য (3000, 2002) এর মতো মান পাচ্ছি, সুতরাং এটি অবশ্যই পিক্সেল এবং পয়েন্টের মান নয়, তাই না? এই পোস্টটি কয়েক বছরের পুরনো তাই সম্ভবত চিত্র.সাইজ প্রকৃত পিক্সেলের মান প্রতিবিম্বিত করতে পরিবর্তিত হয়েছে।
অস্টিন হোয়াইটলো


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

অন্য ফ্রেমওয়ার্ক ব্যবহার না করে ইউআইআইমেজ থেকে এটি ব্যবহার করা সহজ।
সত্যম

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

আপনি কীভাবে চিত্রের ভিউজের আকার পাবেন তা চিত্রের আকারের সাথে একই রকম হয় না
ramzesenok
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.