Quartz 2D/OpenGLES 图像上的几何变形(最好使用 CGImage)

发布于 2024-07-11 22:30:30 字数 271 浏览 9 评论 0原文

实现诸如收缩/鱼眼等几何变形的首选方法是什么? 使用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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮光沉寂 2024-07-18 22:30:31

实际上,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
]

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文