2012-02-01 21 views
24

CoreGraphics'te bir görüntüyü işlemeye çalışıyorum ve işlenen görüntüyü kaydetme ve görüntüleme için bir NSImage ürününe geri döndürüyorum. IOS'ta bu işlevlerin nasıl gerçekleştirileceğiyle ilgili çok sayıda kaynağım var ancak yardımcı yöntemler NSImage'da eksik görünüyor. IOS'ta sınıf yöntemi imageWithCGImage:, Mac OS'de bunu nasıl yapabilirsiniz?CGImageRef adresinden NSImage'i edinme

cevap

42

NSImage'deki eşleşen yöntem initWithCGImage:size:'dur.

İkinci argüman, resmin boyutunu noktalardan alır. Piksel cinsinden (CGImage) büyüklük ile büyüklük arasındaki boyut faktörüdür. Yani, örneğin, 100 × 100px CGImage'ınız varsa ve (NSSize){ 50.0, 50.0 } boyutundan geçerseniz, resim boyut olarak 50 punto ve çift özünürlük olacaktır.

Genellikle, boyutu yalnızca piksel cinsinden (CGImage'dan) boyut olarak boyut olarak geçirmelisiniz. Birden çok ölçek faktörünü ele almak için, çoğu tür için -[NSWorkspace iconForFileType:]'dan aldığınız veya tipik bir .icns dosyasından bir NSImage oluşturduğunuz gibi, birden fazla NSImageReps ile tek bir NSImage kullanmak daha iyidir.

+41

NSZeroSize, "CGImage ile aynı boyutta" kısaltmasıdır. – Ken

+0

@Ken Teşekkürler Ken bu anahtar bilgi! –

İlgili konular