Quartz 2D - Quartz 2D

Quartz 2D é a API nativa de renderização de gráficos bidimensionais para plataformas macOS e iOS , parte da estrutura Core Graphics .

Visão geral

O Quartz 2D está disponível para todos os ambientes de aplicativos macOS e iOS e oferece renderização independente de resolução e de dispositivo de gráficos de bitmap, texto e vetores na tela e na preparação para impressão. Suas responsabilidades dentro da camada gráfica incluem:

  • Renderizando texto
  • Exibição, manipulação e renderização de documentos PDF
  • Converter dados PostScript em dados PDF e vice-versa
  • Exibição, manipulação e renderização de imagens bitmap
  • Fornecimento de gerenciamento de cores via ColorSync
  • Exibindo os elementos da interface do usuário Aqua

Como Quartz 2D é uma das várias Tecnologias de Quartzo, o termo "Quartzo" por si só deve ser considerado no contexto.

Desenho em quartzo 2D

O Quartz 2D expande as funções de desenho associadas ao QuickDraw . A diferença mais notável é que o Quartz 2D elimina o dispositivo de saída e a especificidade da resolução.

O modelo de desenho utilizado pelo Quartz 2D é baseado na especificação PDF 1.4. O desenho ocorre usando um sistema de coordenadas cartesianas , onde texto, vetores ou imagens de bitmap são colocados em uma grade. No entanto, a saída do desenho não é enviada diretamente para o dispositivo de saída. Quartz 2D usa contextos gráficos, ambientes nos quais o desenho ocorre. Cada contexto gráfico define como o desenho deve ser apresentado: em uma janela, enviado para uma impressora, uma camada OpenGL ou fora da tela. Cada contexto rasteriza o desenho na resolução desejada sem alterar os dados que definem o desenho. Assim, os contextos são o mecanismo pelo qual o Quartz 2D emprega independência de resolução e dispositivo. Por exemplo, um contexto de janela pode rasterizar um objeto para a resolução de tela apropriada para criar gráficos reais na exibição. O mesmo objeto pode ser enviado para um contexto de impressão em uma resolução muito maior. Isso permite que os mesmos comandos gráficos produzam saída em qualquer dispositivo usando a resolução mais apropriada.

História

Quartz 2D é semelhante a NeXT 's Display PostScript em seu uso de contextos. Ele apareceu pela primeira vez como uma biblioteca de renderização de gráficos 2D chamada Core Graphics Rendering; junto com Core Graphics Services (Compositing), foi embrulhado na encarnação inicial do Quartz. Quartz (e seu renderizador) foram demonstrados pela primeira vez na WWDC em maio de 1999.

Atualmente, o nome Quartz 2D define com mais precisão os recursos de renderização 2D do Core Graphics (Quartz). Com o lançamento do Mac OS X 10.2, a atenção do marketing se concentrou no Quartz Extreme , a camada de composição, deixando o termo "Quartz" para se referir ao framework Core Graphics ou apenas seu renderizador 2D. Atualmente, as tecnologias Quartz podem descrever todas as tecnologias de renderização e composição introduzidas pelo macOS (incluindo Core Image, por exemplo).

Antes do Mac OS X Tiger, a renderização QuickDraw superava a do Quartz 2D. O Mac OS X 10.4 corrigiu isso, aumentando substancialmente o desempenho de renderização padrão do Quartz 2D. A Tiger também introduziu Quartz 2D Extreme: aceleração de processador gráfico (GPU) opcional para Quartz 2D, embora não seja um recurso oficialmente suportado. O Quartz 2D Extreme é desabilitado por padrão no Mac OS X 10.4 porque pode levar a problemas de redesenho de vídeo ou kernel panics. No Mac OS X Leopard, o Quartz 2D Extreme foi renomeado para QuartzGL.

Veja também

Referências

links externos