Come faccio a creare una CGImage con i dati RGB?
-
21-09-2019 - |
Domanda
Qualcuno mi può mostrare un chiaro esempio di come utilizzare
CGImageRef CGImageCreate
(
size_t width,
size_t height,
size_t bitsPerComponent,
size_t bitsPerPixel,
size_t bytesPerRow,
CGColorSpaceRef colorspace,
CGBitmapInfo bitmapInfo,
CGDataProviderRef provider,
const CGFloat decode[],
bool shouldInterpolate,
CGColorRenderingIntent intent
);
Ho un CGFloat dataBuffer [width * height * 3];
E 'contiene tutti i dati RGB dell'immagine. Essenzialmente, va da pixel R (0,0), G (0,0), B (0,0), R (0,1) ... a R (larghezza, altezza), G (larghezza, altezza) , B (larghezza, altezza)
So che la dimensione dell'immagine, altezza x larghezza. Come posso utilizzare le informazioni che ho e creare e CGImage ??
Si prega di aiuto, grazie
Ho postato un'altra domanda che comprende la questione di cui sopra. E 'stato risposto correttamente da nschmidt, ecco il link
Conversione dei dati RGB in una bitmap in Objective- C ++ Cocoa
Soluzione 2
Ho postato un'altra domanda che comprende la questione di cui sopra. E 'stato risposto correttamente da nschmidt, ecco il link
Conversione dei dati RGB in una bitmap in Objective- C ++ Cocoa
Altri suggerimenti
Il mistero più grande è il provider di dati. La risposta di ciò è che è necessario creare un CGDataProvider oggetto che sia contiene o in grado di fornire i dati dei pixel che avete.
Alcuni piccoli misteri sono quello di passare per colorSpace
e bitmapInfo
. Quelli sono un href="http://developer.apple.com/mac/library/documentation/GraphicsImaging/Reference/CGImage/" rel="nofollow noreferrer"> CGColorSpace oggetto CGBitmapInfo maschera di bit.
La spiegazione della matrice decode
potrebbe essere più chiaro, ma ciò che è chiaro è che probabilmente non avete bisogno di uno. Passare NULL
.
Oltre a queste cose, tutto è o auto-evidente o ben spiegato in la documentazione per questa funzione .