2009-01-19 4 views
4

Quelle est la méthode préférée pour implémenter des distorsions géométriques telles que pincement/fisheye/etc. en utilisant le SDK iPhone? Je sais que la bibliothèque Core Image pour OSX intègre tous ces types de filtres, mais pas pour le SDK iPhone.Distorsions géométriques Quartz 2D/OpenGLES sur les images (de préférence avec CGImage)

Je peux créer une carte de déplacement à un emplacement et un rayon donnés en fonction des données bitmap source d'origine, mais je ne suis pas sûr de savoir comment appliquer ces données bitmap en tant que transformation sur mon CGImage.

Ceci n'est pas une transformation affine car les lignes ne sont plus parallèles autour de la zone de distorsion/etc.

Est-il possible d'utiliser CGImage ou est-ce que je devrais le faire en utilisant OpenGLES?

Merci

Répondre

1

En fait, l'entrée DisplacementMapFilter de Flash 8 décrit la transformation générale de carte de déplacement donné une carte de déplacement constitué de pixels composant (x, y) comme suit:

dstPixel [x, y] = srcPixel [ x + ((componentX (x, y) - 128) * scaleX)/256, y + ((componentY (x, y) - 128) * scaleY)/256 ]

+2

Mais qu'en est-IOS? Comment vous reflétez cela sur les systèmes IOS? – MatterGoal

Questions connexes