7

iPhone SDK に関する質問: 画面に UIImageView を描画しています。3D で回転させ、少し遠近感を持たせたので、画像はある角度で画面に向かっているように見えます。それはすべてうまくいきます。ここでの問題は、結果の画像のエッジがまったくアンチエイリアスされていないように見えることです。そのようにする方法を知っている人はいますか?

基本的に、私は独自のバージョンの CoverFlow を実装しています (ええええ、設計特許何とか何とか) クォーツ 3D 変換を使用してすべてを行います。各カバーがアンチエイリアス処理されておらず、Apples バージョンがアンチエイリアス処理されていることを除けば、問題なく動作します。

CALayer の edgeAntialisingMask をいじってみましたが、それは役に立ちませんでした。デフォルトでは、すべてのエッジをアンチエイリアスする必要があります...

ありがとう!

4

5 に答える 5

19

画像を 1 つだけ回転する場合は、1 つのトリックで問題が解決します。設定してみる

layer.shadowOpacity = 0.01;

その後、3D Rotation の後、画像はより滑らかに見えます

于 2011-04-19T13:02:10.217 に答える
7

Gloomcore の回答は、非常に優れた結果をもたらします。

ただし、これは時々物事を本当に遅くします!ラスタライゼーションを追加すると、少し役立ちます。

.layer.shadowOpacity = 0.01;
.layer.shouldRasterize = YES;

質問/回答が古いことは知っていますが、見つけたばかりです。

于 2012-07-12T10:47:20.393 に答える
2

回転を適用する少し大きな空のビューに UIImageView を配置するか、ソース画像を変更して、画像の端に透明なピクセルを追加してみてください。

于 2010-04-21T21:14:18.440 に答える