Pergunta

Estou procurando uma estrutura gráfica raster para o Mac OS X. Especificamente, quero algum tipo de visão que possa manipular (pelo menos conceitualmente) como uma matriz de pixels. Meu programa gerará os dados do pixel programaticamente.

O QuickDraw se encaixa bem nessa descrição, mas é preterido. Até onde eu sei, não há nada equivalente nos gráficos principais. Estou esquecendo de algo?

Uma estrutura C simples seria preferível a um Objetivo-C One, mas não sou muito exigente.

Foi útil?

Solução

O QD foi depreciado porque não há como implementá -lo com eficiência com a geração atual de UIs e GPU HW totalmente compositadas. Por esse motivo, não há nada como QD no sistema, e não haverá. Permitir o acesso direto às forças da loja de apoio, na melhor das hipóteses, forças muito mais transações de ônibus de e para a GPU, e na pior das hipóteses pode impedir que uma textura seja carregada no próprio cartão, e alguns casos podem causar fallbacks de software.

É claro que às vezes existem razões pelas quais as pessoas precisam de acesso ao nível de pixels a uma loja de apoio, portanto, existem alguns mecanismos para fazê -lo, mas não há métodos de conveniência reais e, se você puder encontrar uma maneira de evitá -lo. Se você não pode evitá -lo, pode usar o CoreGraphics para criar um contexto de bitmap usando CGBITMapContextCreate onde você tem acesso à loja de apoio e pode manipular diretamente a loja de apoio. Não é simples de trabalhar, e é lento.

Outras dicas

Que tal dividir a largura e a altura da vista por si só, depois desenhar largura x quadrados de altura? Você pode apenas usar um NSPOINT e aumentá -lo em um até que ele atinja a largura x altura.

o Camada simples direta do DirectMedia tem acesso de pixel. Pode ser mais matar, pois é uma biblioteca de porte, mas toda a API está na planície C. Não sei o que ela usa como uma API do MacOS subjacente. É melhor verificar o site para ver se é adequado para seus propósitos.

Alternativamente, você pode usar Opengl texturas.

A melhor maneira de fazer isso é a imagem principal. Ele foi projetado para trabalhar com pixels, e é muito rápido, porque permite que você faça o trabalho na placa gráfica.

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