Quartz 2D/OpenGLES 图像上的几何变形(最好使用 CGImage)
实现诸如收缩/鱼眼等几何变形的首选方法是什么? 使用iPhone SDK? 我知道 OSX 的 Core Image 库内置了所有这些类型的过滤器,但 iPhone SDK 没有。
我可以在给定原始源位图数据的特定位置和半径处创建位移图,但我不确定如何将此位图数据应用为我的 CGImage 上的转换。
这不是仿射变换,因为线在扭曲/等区域周围不再平行。
是否可以使用 CGImage 或者我需要使用 OpenGLES 来做到这一点?
谢谢
What is the preferred method for implementing such geometric distortions as pinch/fisheye/etc. using the iPhone SDK? I know that the Core Image library for OSX has all these types of filters built in, but not for the iPhone SDK.
I can create a displacement map at a specific location and radius given the original source bitmap data, but I'm not sure how to apply this bitmap data as a transformation on my CGImage.
This isn't an affine transformation since lines are no longer parallel around the area of distortion/etc.
Is it possible using CGImage or would I need to do this using OpenGLES?
Thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
实际上,Flash 8 的 DisplacementMapFilter 条目描述了给定由像素分量 (x,y) 组成的置换贴图的一般置换贴图变换,如下所示:
dstPixel[x, y] = srcPixel[
x + ((组件X(x, y) - 128) * 缩放X) / 256,
y + ((分量Y(x, y) - 128) * 比例Y) / 256
]
Actually, Flash 8's DisplacementMapFilter entry describes the general displacement map transformation given a displacement map made up of pixels component(x,y) as follows:
dstPixel[x, y] = srcPixel[
x + ((componentX(x, y) - 128) * scaleX) / 256,
y + ((componentY(x, y) - 128) * scaleY) / 256
]