我可以将图像转换成点阵网格吗?

只是一个简单的问题。

可以这样做:

圆点图像

在iOS设备上完成image processing? 如果是的话,怎么样?

你应该能够做到这一点,只需循环和绘制黑色和白色的圆圈,然后使用该图像作为您的形象的面具。

以下是我在Google上发现的关于CoreGraphics masking的第一个链接,您可以根据自己的需要进行调整: http : //cocoawithlove.com/2009/09/creating-alpha-masks-from-text-on.html

我想可以画很多圈子,你可以用自己的一些Googlesearch来弄清楚。

是的,虽然Core Graphics可能不是在图像上执行此类过滤的最佳方法。 我的build议是使用OpenGL ES 2.0片段着色器。 其实我只是写了一个这样做的:

圆点图像转换

这是我刚添加到我的开源GPUImage框架的GPUImagePolkaDotFilter 。 使用它最简单的方法是抓住框架,并将filter应用到任何你想要的(它足够快,在video上实时运行)。

如果你只是想使用片段着色器,以下是我的代码:

varying highp vec2 textureCoordinate; uniform sampler2D inputImageTexture; uniform highp float fractionalWidthOfPixel; uniform highp float aspectRatio; uniform highp float dotScaling; void main() { highp vec2 sampleDivisor = vec2(fractionalWidthOfPixel, fractionalWidthOfPixel / aspectRatio); highp vec2 samplePos = textureCoordinate - mod(textureCoordinate, sampleDivisor) + 0.5 * sampleDivisor; highp vec2 textureCoordinateToUse = vec2(textureCoordinate.x, (textureCoordinate.y * aspectRatio + 0.5 - 0.5 * aspectRatio)); highp vec2 adjustedSamplePos = vec2(samplePos.x, (samplePos.y * aspectRatio + 0.5 - 0.5 * aspectRatio)); highp float distanceFromSamplePoint = distance(adjustedSamplePos, textureCoordinateToUse); lowp float checkForPresenceWithinDot = step(distanceFromSamplePoint, (fractionalWidthOfPixel * 0.5) * dotScaling); gl_FragColor = vec4(texture2D(inputImageTexture, samplePos ).rgb * checkForPresenceWithinDot, 1.0); } 

简短答案是:是的,但正是使用哪个框架,我不确定的一刻。 注意:哟,刚才问是否可能,我给了你的问题,而不是如何去