objective-c - iOS imageView渲染的问题
迷茫
迷茫 2017-04-18 09:46:29
0
2
642

比如说A是一个imageView,B仅仅是一个普通的透明的view,我希望A被B盖住的部分是彩色的,而没有盖住的部分是黑白的,请问有什么实现的思路吗

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全員に返信(2)
黄舟

は A の layer.mask 実装を制御できます。マスクは A と B の重複領域です。rect の塗りつぶし layer.mask は、重複領域の path を計算することで変更できます。多くのマスキング効果はマスクを使用して実現されます。

参考になるコードを書きました。プレイグラウンドで効果を直接確認できます:

リーリー

正常に実行されると、プレイグラウンドのアシスタント エディターで次の効果​​が確認できます:

いいねを押す +0
大家讲道理

1. AB の交点のサイズを計算します
2. 色付き部分の開始点を計算します
3. ベジェ曲線を使用して色付き部分を描画します
4. CAShapeLayer を使用してパスを設定します3番目のステップバイステップベジェ曲線に、レイヤーをAに追加します。

私の個人的な考えですが、ぜひ試してみてください。

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート