簡単な質問です。
これはできますか:
iOSデバイスでの画像処理で実行されますか?はいの場合、どのように?
はい。ただし、コアグラフィックスは画像に対してこのようなフィルタリングを行うための最良の方法ではない場合があります。私の推奨は、OpenGLES2.0フラグメントシェーダーを使用することです。実際、私はこれを行うために1つ書いただけです。
これは、オープンソースのGPUImageフレームワークに追加したばかりのGPUImagePolkaDotFilterです。これを使用する最も簡単な方法は、フレームワークを取得して、必要なものにフィルターを適用することです(ビデオでリアルタイムに実行するのに十分な速度です)。
フラグメントシェーダーを使用したい場合は、次のコードを使用します。
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);
}
これは、円をループして白黒で描画し、その画像を画像のマスクとして使用するだけで実行できるはずです。
これが、CoreGraphicsマスキングについてGoogleで見つけた最初のリンクです。これは、おそらくニーズに合わせて調整できます。http: //cocoawithlove.com/2009/09/creating-alpha-masks-from-text-on.html
たくさんの円を描くことは、あなた自身のグーグルで理解できるものだと思います。
短い答えは:はい、しかし正確にどのフレームワークを使用しているかは今のところわかりません。注:Yoは、それが可能かどうかを尋ねたところです。私は、行き方ではなく、あなたの質問に答えました。