0

特にこれらの画像をたくさん描く必要がある場合、iPhoneの画像の周りにフレームを描くには、速度と効率の点でどちらが最善の方法か疑問に思います。

1)画像を描画してから、周囲のフレームを描画します。または2)長方形を描画し、色で塗りつぶしてから、その長方形内に画像を描画して、フレームを模倣するオフセットピクセルを残します。

Quartzは、指示されたすべてのものを描画しますか、それとも実際に見えるものだけを描画するのに十分スマートですか?私の感じでは、実際には描画が少ないので、最初のアプローチの方が優れています。本当にそうですか?

ありがとうP。

4

2 に答える 2

1

-drawRect:でカスタム描画を行っている場合、クォーツ描画はビューの範囲内でのみ行われます。

とはいえ、画像ごとにUIImageViewを作成し、ビューのレイヤーの、、、および場合によってはプロパティを使用して境界線を設定すると、最高のパフォーマンスが得られるとborderWidth思いborderColorますcornerRadius。例えば:

imageView.layer.cornerRadius = 10.0f;
imageView.layer.borderWidth = 3.0f;
imageView.layer.borderColor = [[UIColor blackColor] CGColor];

ビューの周囲に3ピクセル幅の黒い境界線を配置し、コーナーに10ピクセルの半径を与えます。

于 2010-02-09T01:15:38.970 に答える
0

パフォーマンスが問題になる場合は、グラフィックス コンテキストで実行する操作の数を最小限に抑えるようにしてください。特に、コンポーネントが表示されていない場合はそうです。

あなたの特定のケースでは、iPhone(可能であればist gen)で両方のオプションをテストし、それらをベンチマークする必要があると思います。どのピクセルがフレームの一部で、どのピクセルがそうでないかを計算するよりも、長方形全体を塗りつぶす方が簡単かもしれません。

グラフィックチップに依存します。

于 2010-02-08T16:33:45.583 に答える