Pergunta

Eu estou querendo saber qual é a melhor maneira, em termos de velocidade e eficiência, para desenhar uma moldura em torno de uma imagem no iPhone, especialmente quando eu tenho que tirar a sorte dessas imagens:

1) Desenhar a imagem e, em seguida, a moldura em torno ou 2) Desenhar um rect, preenchê-lo com uma cor e, em seguida, desenho a imagem dentro desse rect deixando alguns pixels de deslocamento para imitar a estrutura

O Quartz desenhar tudo o que é dito ou é suficiente inteligente para desenhar apenas o que é realmente visível? Meu sentimento é que a primeira abordagem é melhor porque não há realmente menos desenho feito. É realmente assim?

Graças P.

Foi útil?

Solução

desenho Quartz só terá lugar dentro dos limites da visão, se você estiver fazendo o desenho no -drawRect personalizado:.

Dito isso, eu acho que você vai ver o melhor desempenho se você simplesmente criar UIImageViews para cada imagem, em seguida, usar o borderWidth, borderColor e propriedades possivelmente cornerRadius na camada do seu objectivo de definir uma fronteira. Por exemplo:

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

irá colocar uma borda de 3 pixels de largura preta em torno do seu ponto de vista, e dar-lhe um raio de 10 pixels nos cantos.

Outras dicas

Se o desempenho for um problema, você deve tentar minimizar o número de operações executadas no contexto de gráficos, especialmente os que não têm componentes visíveis.

No seu caso particular, eu acho que você precisa testar as duas opções em um iPhone (ist gen se possível) e referência-los. Talvez seja mais fácil que basta preencher todo o retângulo, em vez de calcular que pixels fazem parte do quadro e quais não são?

Depende do chip gráfico.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top