2010-09-20 13 views
5

Düzensiz şekilde saydam olabilen bir CALayer'e bir görüntü koyuyoruz:Düzensiz Şekilli Şeffaf CALayer'ı iPhone'da Nasıl Koyuyorsunuz?

 theCardLayer.front = [CALayer layer]; 
theCardLayer.front.contents = (id)[cardDrawing CGImage]; 

Başka bir deyişle, katmanı dolduran bir kare olabilir veya köşeleri görmeyi engelleyen bir sekizgen olabilir.

Bu katmanı bazen koyulaştırmak istiyorum, ancak görünen bitleri koyulaştırmadan. Programatik bir şekilde nasıl yapıldığına dair herhangi bir öneriniz var mı?

cevap

1

CGBlendMode; Yeni bir CGBitmapContext oluşturarak, görüntüyü ve ardından gri bir dolguyu çizerek ve sonuçta ortaya çıkan görüntüyü katmanınıza atayarak yapılan bir çok karışım, güzel çalışmalıdır.

+1

Evet ama çok yavaş. Bir salyangoz daha hızlı çalışır. – openfrog

0

CGShapeLayer kullanabilirsiniz. Çizmek istediğiniz şeklin yolunu ayarlayın. Diğer katmanlar için maske katmanları olarak da kullanabilirsiniz, eğer istediğin buysa.

İlgili konular