Domanda

Cerco un quadro grafica raster per Mac OS X. In particolare, voglio un qualche tipo di vista che posso manipolare (almeno concettualmente) come una matrice di pixel. Il mio programma genererà i dati dei pixel a livello di codice.

QuickDraw si adatta a questa descrizione bene, ma è deprecato. Per quanto posso dire, non c'è nulla di equivalente in core grafico. Mi sto perdendo qualcosa?

Un quadro C pianura sarebbe preferibile a un Objective-C, ma io non sono troppo esigente.

È stato utile?

Soluzione

QD è stato sconsigliato in quanto non v'è alcun modo per farlo implementare in modo efficiente con l'attuale generazione di interfacce utente completamente mescolati e GPU HW. Per questo motivo non v'è niente di meglio QD sul sistema, e non ci sarà. Consentire l'accesso diretto alle forze di archiviazione secondaria nel migliore dei casi costringe molte più transazioni di autobus da e per la GPU, e nel peggiore dei casi può impedire una texture da essere caricate a bordo della scheda stessa, e alcuni casi può causare ricadute software.

E 'chiaro a volte ci sono motivi di persone hanno bisogno di accesso a livello di pixel a un archivio di backup, quindi ci sono alcuni meccanismi per farlo, ma non ci sono metodi di convenienza reale e se è possibile trovare un modo per evitarlo si dovrebbe. Se non è possibile evitarlo è possibile utilizzare CoreGraphics per creare un contesto bitmap utilizzando CGBitmapContextCreate dove si ha accesso al negozio di supporto e possibile manipolare direttamente l'archivio di backup. Non è semplice con cui lavorare, ed è lento.

Altri suggerimenti

Che dire dividere la larghezza e l'altezza della vista da sola, quindi disegnare larghezza x altezza piazze? Si potrebbe utilizzare un NSPoint e aumentarlo da uno fino a raggiungere la larghezza x altezza.

Il Simple Directmedia Layer ha accesso pixel. Può essere più di uccidere in quanto è una libreria di porting, ma l'intera API è in C. pianura Non so cosa si usa come un MacOS API sottostante usa. Meglio controllare il sito web per vedere se è adatto per i vostri scopi.

In alternativa, è possibile utilizzare OpenGL texture.

Il modo migliore per farlo è Core Image. E 'progettato per lavorare con i pixel, ed è molto veloce perché permette di fare il lavoro sulla scheda grafica.

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