سؤال

أعتقد أنني أفتقد شيئًا أساسيًا حقًا هنا. إذا قمت بذلك بعنوان URL/المسار القانوني الذي أعرفه موجود:

NSImage* img = [[NSImage alloc] initWithContentsOfFile:[[selectedItem url] path]];
NSLog(@"Image width: %d height: %d", [img size].width, [img size].height);

ثم أبلغت وحدة التحكم بأن العرض هو -2080177216 والارتفاع 0. التمثيل الأول وعاد نفس قيم العبث. كيف لا يتم تحميل الصورة بشكل صحيح؟

هل كانت مفيدة؟

المحلول

ال size الطريقة إرجاع NSSize, هيكل width و height الأعضاء من النوع float. أنت تعاملهم على أنها int. يستخدم %f وكل شيء يجب أن يكون على ما يرام.

نصائح أخرى

هل هذا يساعد؟

setSize:

يحدد عرض وارتفاع الصورة.

- (void)setSize:(NSSize)aSize

مناقشة:

يجب تعيين حجم كائن nsimage قبل استخدامه. إذا لم يتم تعيين حجم الصورة بالفعل عند إضافة تمثيل صورة ، فسيتم أخذ الحجم من بيانات تمثيل الصورة. بالنسبة لصور EPS ، يتم أخذ الحجم من المربع المحيط بالصورة. بالنسبة لصور TIFF ، يتم أخذ الحجم من سمات ImageLength و ImageWidth.

تغيير حجم nsimage بعد استخدامه بشكل فعال تغيير الصورة. تغيير الحجم يبطل جميع ذاكرة التخزين المؤقت ويحررهم. عندما يتم إنشاء الصورة بعد ذلك ، سوف يرسم التمثيل المحدد نفسه في نافذة خارج الشاشة لإعادة إنشاء ذاكرة التخزين المؤقت.

التوفر المتاح في Mac OS X V10.0 وبعد ذلك. أنظر أيضا

نرى حجم nsimage ليس حجمًا حقيقيًا مع بعض الصور؟

تحتاج إلى التكرار من خلال nsimagerep وتعيين الحجم من أكبر وجدت.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top