حجم nsimage خاطئ
-
03-10-2019 - |
سؤال
أعتقد أنني أفتقد شيئًا أساسيًا حقًا هنا. إذا قمت بذلك بعنوان 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 وتعيين الحجم من أكبر وجدت.