سؤال

هذا لا يفعل أي شيء:

NSImage* testImage = [[NSImage alloc] initWithSize:NSMakeSize(2.0,2.0)];

[testImage lockFocus];
[[NSImage imageNamed:@"testImage"] drawAtPoint:NSMakePoint(1.0,1.0) fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0];
[testImage unlockFocus];

[levelView setImage:testImage];

... ولكن هذا يفعل:

[levelView setImage:[NSImage imageNamed:@"testImage"]];

يبدو لي إذا كان الأخير ينتج نتائج واضحة، لذلك يجب أن السابق. أفترض أنني صنع خطأ غبي في مكان ما؟

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

المحلول

دعنا ندعو [NSIMAGE IMAMEAMAMED: @ "TestImage"] Hampamage.

ستكون TestImage 2x2 بكسل. نظرا لأنك ترسم Sourmimage At (1،1)، فإن 1 بكسل وصولا واحدا بكسل في الأصل، 3 من بكسلاتك الأربع تظل بالضرورة ستكون واضحة. سيكون بكسل الأيمن العلوي هو نفسه بكسل الجزء السفلي من السموم. إذا كان هذا واضحا، فلن ترى أي شيء.

نصائح أخرى

أنا لا أشاهد كافية كافية هنا لتشخيص المشكلة. كيف يمكنك استدعاء الرمز في قائمةك الأولى؟ هو "Levelview" بالفعل في نافذة، أو تم تحميله من بنك غير صالح المنصوص عليها في تلك المرحلة؟

هل هناك ملف صورة مسمى "TestImage" في مشروعك؟ هل أنت متأكد من أنك تريد هذه الصورة أن تكون سوى اثنين فقط من وحدات البكسل؟

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