Renklerin listesini içeren bir PopUp Düğmesi var. Renk başlığının önünde, aynı renkteki küçük bir kutu (_maybe aynı renkteki bir resim _) göstermem gerekiyor. Yani, ben ( zaten mevcut olacak ) NSColor nesnesini kullanarak bir NSImage nesnesi oluşturabilir eğer, o zaman görüntünün görüntülenmesi için -(void) setImage:(NSImage *) menuImage
yöntem ait NSMenuItem sınıfını kullanabileceğiniz, yaklaşımın düşünüyordum açılır pencerede renk başlığının önü.
NSColor kullanarak bir NSImage nesnesi oluşturmayı nasıl başarabilirim?
Sorunu çözmek için başka herhangi bir yaklaşım da memnuniyetle karşılanmaktadır. :)NSColor'dan NSImage oluşturma
cevap
Basit kategori yöntem bu
@interface NSImage (ImageAdditions)
+(NSImage *)swatchWithColor:(NSColor *)color size:(NSSize)size;
@end
@implementation NSImage (ImageAdditions)
+(NSImage *)swatchWithColor:(NSColor *)color size:(NSSize)size
{
NSImage *image = [[[NSImage alloc] initWithSize:size] autorelease];
[image lockFocus];
[color drawSwatchInRect:NSMakeRect(0, 0, size.width, size.height)];
[image unlockFocus];
return image;
}
@end
[DÜZENLE] kaldır kaldırılmış API
Çok teşekkürler @Warren. – rsharma
'- setScalesWhenResized:' ** kullanımdan kaldırılmıştır **. * Bu yöntem, önbelleğe alma davranışıyla ilgilidir. Mac OS X v10.6 ve sonraki sürümlerde, görüntü önbelleğe alma artık gerekli değildir ve bunun sonucunda yedek gerekli değildir. * –
Farkında değil. Bu eski bir koddan kes/yapıştır. Thx –
Ve yukarıdakilerin hızlı uzatma varyantı yapacak:
import Cocoa
extension NSImage {
class func swatchWithColor(color: NSColor, size: NSSize) -> NSImage {
let image = NSImage(size: size)
image.lockFocus()
color.drawSwatchInRect(NSMakeRect(0, 0, size.width, size.height))
image.unlockFocus()
return image
}
}
İşte Swift var Önceki cevapların 3 kolaylık başlatıcı sürümü:
extension NSImage {
convenience init(color: NSColor, size: NSSize) {
self.init(size: size)
lockFocus()
color.drawSwatch(in: NSRect(origin: .zero, size: size))
unlockFocus()
}
}
Kullanım örneği: [http://stackoverflow.com/questions/:
let redSwatchImage = NSImage(color: .red, size: NSSize(width: 128, height: 128))
gerekli :) Bu aradığınızı olmalıdır
- 1. resizableImageWithCapInscape için NSImage?
- 2. NSImage to NSBitmapImageRep
- 3. Swift NSImage to CGImage
- 4. NSURL → NSImage → NSImageView
- 5. NSImage ile CIImage vs. CGImage?
- 6. NSImage nasıl hızla yeniden boyutlandırılır?
- 7. NSData için NSImage, ardından UIImage için
- 8. Bir Çekirdek Veri Modeli'nde bir NSImage depolamak
- 9. NSImage için cv :: Mat ve tam tersi
- 10. paketi oluşturma hataları oluşturma
- 11. Bir NSImage çizmenin en kolay yolu (devre dışı bırakılmış bir görünüm gibi)
- 12. SQLAlchemy: Bir oturumu yeniden oluşturma vs oluşturma
- 13. ExpressY render oluşturma düzenini yerel olarak oluşturma
- 14. Visual Studio'da yeniden oluşturma bileşenleri oluşturma
- 15. Yapıları temel alarak veri oluşturma üzerine oluşturma
- 16. Özet, genişletme ve örnek oluşturma sorunu oluşturma
- 17. Django Sonsuzluk Oluşturma Nesneleri Oluşturma (ManyToMany)
- 18. Adına göre bir Yanıt Oluşturma bileşeni oluşturma
- 19. 'VIEW oluşturma'
- 20. oluşturma yolları
- 21. Dize Oluşturma
- 22. Favicon oluşturma
- 23. Regexp'i Oluşturma?
- 24. oluşturma modeli
- 25. oluşturma dize
- 26. Görüntü oluşturma
- 27. mysql içinde yeniden oluşumu yeniden oluşturma/yeniden oluşturma
- 28. SQL Server'da SQL sorgusu kullanarak tablo oluşturma komut dosyası oluşturma
- 29. Sequelize.js - "oluşturma" veya "oluşturma" çağrısı sırasında model ilişkilendirmesi
- 30. Raylar: özel bir veri türü oluşturma/kısa yol oluşturma
anlambilimini değiştirmek için çekinmeyin 990.976/nasıl Oluşturulması-a-renkli-1x1 UIImage-on-the-iphone-dinamik] [1] [1]: http://stackoverflow.com/questions/990976/how Projede öngörülen create-a-renkli-1x1 UIImage-on-the-iphone-dy namically –