OVH Cloud OVH Cloud

COCOA and bitmap

2 réponses
Avatar
Luc
Bonjour j'ai un peit probleme
J'ai une image bitmap 1bit (noire et blanc) j'aimerais l,afficher dans
une NSView ou autre. L'image est l'écran d'un emulateur.

Merci de votre aide

2 réponses

Avatar
Schmurtz
Luc wrote:

Bonjour j'ai un peit probleme
J'ai une image bitmap 1bit (noire et blanc) j'aimerais l,afficher dans
une NSView ou autre. L'image est l'écran d'un emulateur.

Merci de votre aide


Je te conseille de lire la doc sur la gestion des images :
http://developer.apple.com/documentation/Cocoa/Conceptual/DrawImages/inde
x.html

J'avais déjà fait ça quand j'avais fait un programme de traitement de
son. Le principe est de créer un NSImage puis de lui associer un
NSBitmapImageRep contenant les données bitmap. Je te donne le code
source à tout hasard.

float* specgram; // tableau de float à deux dimensions (mon image)

NSBitmapImageRep* bitmap= [[NSBitmapImageRep alloc]
initWithBitmapDataPlanes: nil
pixelsWide: largeur
pixelsHigh: hauteur
bitsPerSample: 8
samplesPerPixel: 1
hasAlpha: NO
isPlanar: NO
colorSpaceName: NSCalibratedWhiteColorSpace
bytesPerRow: largeur
bitsPerPixel: 8];

unsigned char* p = [bitmap bitmapData];
for(i=0;i<total;i++)
*p++ = 255-(int)(specgram[i]*255);

NSImage* monimage = [[NSImage alloc]
initWithSize:NSMakeSize(largeur,hauteur)];
[monimage addRepresentation: bitmap];
[monimage setFlipped:YES];

// image est un NSImageView
[image setFrame:NSMakeRect(0,0,largeur,hauteur*2)];
[image setImage:monimage];

[image setNeedsDisplay:YES];

--
Schmurtz

Avatar
Luc
In article <43024796$0$29701$,
Schmurtz wrote:

Je te conseille de lire la doc sur la gestion des images :
http://developer.apple.com/documentation/Cocoa/Conceptual/DrawImages/inde
x.html

J'avais déjà fait ça quand j'avais fait un programme de traitement de
son. Le principe est de créer un NSImage puis de lui associer un
NSBitmapImageRep contenant les données bitmap. Je te donne le code
source à tout hasard.

float* specgram; // tableau de float à deux dimensions (mon image)

NSBitmapImageRep* bitmap= [[NSBitmapImageRep alloc]
initWithBitmapDataPlanes: nil
pixelsWide: largeur
pixelsHigh: hauteur
bitsPerSample: 8
samplesPerPixel: 1
hasAlpha: NO
isPlanar: NO
colorSpaceName: NSCalibratedWhiteColorSpace
bytesPerRow: largeur
bitsPerPixel: 8];

unsigned char* p = [bitmap bitmapData];
for(i=0;i<total;i++)
*p++ = 255-(int)(specgram[i]*255);

NSImage* monimage = [[NSImage alloc]
initWithSize:NSMakeSize(largeur,hauteur)];
[monimage addRepresentation: bitmap];
[monimage setFlipped:YES];

// image est un NSImageView
[image setFrame:NSMakeRect(0,0,largeur,hauteur*2)];
[image setImage:monimage];

[image setNeedsDisplay:YES];


Merci beaucoup, je derais pour voir faire ce que je souhaite avec ça.