2010-12-16 7 views

Odpowiedz

111

Są całkowicie różne i nie są zgodne.

Aby być absolutnie jasne:

to ściśle przypadek, że słowo „warstwa” jest używany w obu nazw; są one całkowicie niepowiązane.

CGLayers są "specjalnymi" rzeczami o wysokiej wydajności.

Można je uznać za "bitmapy, ale lepiej".

Apple usiadł i powiedział "Mamy dość ludzi używających bitmap, stwórzmy coś lepszego!" :-)

Rzeczywiście, tylko pracować z CGLayers poza ekranem.

Aby powtórzyć, CGLayers są całkowicie wykorzystywane poza ekranem.

Gdy są już gotowe, możesz je następnie wysadzić na swój rzeczywisty ekran (to znaczy: wysadzić je jednym ze swoich widoków).

(Jednak: Uwaga: CGLayers są często stosowane, gdy mówię, że są stosowane „sam”, to znaczy są one wykorzystywane do „sam”.:. Przetwarzania obrazów lub obliczeń matematycznych W tym przypadku CGLayers nigdy nie są widoczne na ekranie i nie mają żadnego połączenia ze światem na ekranie.)

W przeciwieństwie do ... CALayers to po prostu widoki "w". CALayers są po prostu sposobem działania widoków.

Te dwa pojęcia są całkowicie różne.

CALayers to po prostu widoki "w". W przeciwieństwie do CGLayers są cool "poza ekranem, wysokiej wydajności, maszyn obliczeniowych."

Dla jasności, CGLayers nie mają absolutnie żadnego związku z widokami i nie są powiązane z widokami. (Oczywiście, możesz wkleić CGLayer do widoku, ale wtedy możesz wkleić "typografię" lub "obraz" w widoku. Typografia i obrazy nie są widokami, a CGLayers nie są widokami.)

Typowy przykład:

chcesz raz narysować coś skomplikowanego, a następnie narysuj to coś wiele razy na ekranie. Odpowiedzią na ten problem są dokładnie CGLayers. Twoim "miejscem pracy" będzie CGLayer; mógłbyś wtedy rozlać go na drukarkę, na ekran lub cokolwiek innego.

Dla jasności, moim zdaniem Apple powinno było wybrać inną nazwę ...

dobrym nazwiskiem byłoby "CGCalculationspace".

Fakt, że nazwa zawiera słowo "warstwa", powoduje, że myślisz o NSLayers.

Powtarzam: nie ma absolutnie żadnego związku, w jakikolwiek sposób. CGLayers nie są nawet niejasno związane z warstwami.

Brak połączenia. Naprawdę mylące jest to, że w nazwie używane są litery "l a y e r" - to wstyd !!

CGLayers należy nazywać "przestrzeniami roboczymi" lub "paradygmatami obliczeniowymi" lub czymś w tym rodzaju.

Mam nadzieję, że to pomoże i mam nadzieję, że nadal czytasz!

+2

Dziękuję bardzo! Przeczytałem to całkowicie. To był miły opis i był bardzo pomocny. Zwłaszcza o CGLayer kontra CALayer = "kompozycja poza ekranem" a "kompozycja na żywo" i "nie kompatybilna". Mam pomysł z twoim opisem; CALayer jest abstrakcyjnym modelem CGLayera (wykres sceny?) W każdym razie, dziękuję jeszcze raz! – Eonil

+2

Ponownie przeczytałem twoją odpowiedź i zdałem sobie sprawę, że mam nieporozumienie. CGLayer nie jest niczym w porównaniu z CALayerem. CGLayer jest częścią rysunku, a CALayer jest częścią compositor. – Eonil

+2

OMG, to jest niesamowita odpowiedź. Dziękuję bardzo za poświęcenie czasu, aby tak dobrze rozróżnić te dwie rzeczy! Rozwiązało to kilka moich wątpliwości. ++ punktów za "nadzieję, że wciąż czytasz"! : D – codeBearer

Powiązane problemy