Der effizienteste Weg, um einen CALayer mit einem Bild darin zu erstellen?

8

Ich frage mich, was der effizienteste Weg ist, einen CALayer mit einem Bild darin zu erstellen.

Ich weiß, dass Sie ein UIImage laden und dann [image CGImage] aufrufen können, aber ist das der beste Weg, darüber zu gehen? Soweit ich aus der Dokumentation von Apple sagen kann, ist dies die einzige Möglichkeit, wie Sie es tun können.

    
Michael Gaylord 14.06.2009, 10:32
quelle

2 Antworten

2

Naja, ein CGImage ist kein CALayer , also gibt es natürlich einige Schritte da draußen, aber ich nehme an, Sie wissen, wovon Sie reden, was das Zeichnen von CALayer oder was nicht angeht .

Wenn Ihre Frage darin besteht, CGImage s zu erstellen, ohne ein UIImage zu verwenden, können Sie versuchen, die folgenden Funktionen zu untersuchen:

  • CGImageCreateWithJPEGDataProvider
  • CGImageCreateWithPNGDataProvider

Wenn Sie vorher wissen, um was für ein Bild es sich handelt, verwenden Sie einfach die entsprechende Methode. Andernfalls müssten Sie sich die Dateisignatur ansehen, um zu sehen, ob sie PNG oder JFIF enthält. Natürlich müssen Sie dazu ein CGDataProvider implementieren.

Ich nehme an, das ist genau das, was die Klasse UIImage bereits macht. Wenn Sie damit jede Menge Effizienz ausdrücken möchten, können Sie eine der folgenden Methoden in der Klasse UIImage verwenden:

%Vor%

Der einzige Unterschied zwischen diesen Methoden und

%Vor%

ist, dass imageNamed: das Bild zwischenspeichert. Wenn Sie eine der ersten Methoden verwenden, tut es das nicht.

    
Ed Marty 14.06.2009, 16:30
quelle
17

Versuchen Sie Folgendes:

%Vor%

HTH

    
nielsbot 10.05.2011 07:05
quelle

Tags und Links