Question

Je me demande ce qui est la meilleure façon, sur iPhone, surtout quand je dois tirer en termes de rapidité et d'efficacité, pour dessiner un cadre autour d'une image beaucoup de ces images:

1) Dessin l'image et le cadre autour ou 2) Dessin d'un rect, le remplissage avec une couleur et le dessin de l'image dans ce pixel rect laissant un peu de décalage pour reproduire la trame

Est-ce que Quartz tout ce qu'il tire est dit ou est-il assez intelligent pour dessiner seulement ce qui est vraiment visible? Mon sentiment est que la première approche est meilleure, car il est en fait moins le dessin fait. Est-il vraiment?

Merci P.

Était-ce utile?

La solution

dessin quartz n'aura lieu dans les limites de la vue, si vous faites le dessin personnalisé dans -drawRect:.

Cela dit, je pense que vous verrez les meilleures performances si vous créez simplement UIImageViews pour chaque image, puis utilisez le borderWidth, borderColor et propriétés éventuellement cornerRadius sur la couche de votre point de vue de définir une frontière. Par exemple:

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

placera une échelle de 3 pixels bordure noire autour de votre point de vue, et lui donner un rayon de 10 pixels dans les coins.

Autres conseils

Si la performance est un problème, vous devriez essayer de réduire le nombre d'opérations que vous effectuez sur le contexte graphique, en particulier ceux qui ont pas de composants visibles.

Dans votre cas, je pense que vous avez besoin de tester les deux options sur un iPhone (ist gen si possible) et les référence. Peut-être qu'il est plus facile de simplement remplir le rectangle entier plutôt que de calculer des pixels qui font partie du cadre et qui ne sont pas?

Cela dépend de la puce graphique.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top