2011-06-20 8 views
1

私はCIImageオブジェクトの内部にさまざまな非長方形の影の影を描いています。私は、CIFilterをサブクラス化し、独自のフィルターカーネルとガウスブラーフィルターを組み合わせることでこれを行いました。 NSShadowを使用してパフォーマンスの向上を達成できるかどうかは疑問です。非長方形の形状にNSShadowを使用する

また、NSShadowを使用して非長方形の影を描くことができるかどうかはわかりません。たとえば、答えがanother questionの場合、NSShadowを使用するには最初に形状のNSBezierPathを作成する必要があることがわかりました。

このような状況でNSShadowを使用しようとすると、何かヒントや提案がありますか?

答えて

1

私はそれがもっと速くなるかどうかわかりませんが、確かに簡単でしょう。また、コードが少ないほど、バグが少なくなることを覚えておいてください。

NSShadowは、任意の形状、長方形などで動作します。実際には、通常は影とは思わないものが、実際には影として実装されることがあります。たとえば、グローは単に白い「影」です。私はフォーカスリングが内部的に影であると思います。

NSBezierPathを作成する必要はありません。影でイメージを描くことはうまくいくでしょう。唯一のことは、(NSGradientのように)グラデーションを描くことではありません。

他の読者のために:これはすべてQuartz、CGContextのシャドウプロパティ、CGGradientの除外、おそらくCGShadingにも等しく適用されます。

関連する問題