Domanda

Mi chiedo quale sia il modo migliore, in termini di velocità ed efficienza, per disegnare una cornice intorno a un'immagine su iPhone, soprattutto quando devo disegnare un sacco di queste immagini:

1) Disegnare l'immagine e quindi la cornice intorno o 2) Disegno un rettangolo, riempirla con un colore e quindi disegnando l'immagine all'interno che rect lasciando alcuni pixel compensato per imitare il telaio

Il quarzo disegnare tutto ciò che viene detto di o è abbastanza intelligente per disegnare solo ciò che è realmente visibile? La mia sensazione è che il primo approccio è migliore perché non v'è in realtà meno disegno fatto. E 'davvero così?

Grazie P.

È stato utile?

Soluzione

disegno Quarzo sarà effettuata soltanto entro i confini della vista, se si sta facendo il disegno personalizzato in -drawRect:.

Detto questo, penso che si vedrà la migliore prestazione se è sufficiente creare UIImageViews per ogni immagine, quindi utilizzare il borderWidth, borderColor, e le proprietà eventualmente cornerRadius sul livello di immagine per impostare un bordo. Ad esempio:

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

sarà posto un livello 3 pixel bordo nero intorno alla vostra vista, e dargli un raggio di 10 pixel agli angoli.

Altri suggerimenti

Se le prestazioni sono un problema, si dovrebbe cercare di ridurre al minimo il numero di operazioni che si esegue sul contesto grafico, in particolare quelli che non hanno componenti visibili.

Nel vostro caso particolare, penso che è necessario testare entrambe le opzioni su un iPhone (gen ist se possibile) e punto di riferimento di loro. Forse è più facile basta compilare l'intero rettangolo piuttosto che calcolare quali pixel sono parte del telaio e quali no?

Dipende dal chip grafico.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top