2010-04-22 6 views
0

J'ai une séquence de bits pour une image monochrome (0 => noir, 1 => blanc). Je veux prendre ces données et dessiner une image sur l'iPhone en couleur. Si une valeur de pixel == 0, alors peignez-la color1, sinon color2.Comment utiliser un bitmap monochrome pour afficher une image couleur sur l'iPhone?

Je n'ai absolument nulle part. A l'origine, je pensais pouvoir utiliser glBitmap, mais il n'est pas supporté sur l'iPhone.

Est-ce que quelqu'un a une idée de comment faire cela?

Merci d'avance.

Répondre

1

Je doute fortement que cela est « la » façon de le faire, ou même une bonne façon de le faire, mais comme il n'y a pas d'autres réponses, voici un moyen possible:

UIGraphicsBeginImageContext(CGSizeMake(width,height));  
CGContextRef context = UIGraphicsGetCurrentContext();  
UIGraphicsPushContext(context);        
for(int y=0;y<height,y++){ 
    for(int x=0;x<width;x++){ 
    int val=map[x+y*width]; 
    if(val==0){ 
     CGContextSetRGBFillColor(context, 0.0,0.0,0.0,1.0); 
    }else{ 
     CGContextSetRGBFillColor(context, 1.0,1.0,1.0,1.0); 
    } 
    CGContextFillRect(context,CGRectMake(x,y,1,1)); 
    } 
} 
UIGraphicsPopContext(); 
UIImage* image = UIGraphicsGetImageFromCurrentImageContext(); 
UIGraphicsEndImageContext(); 

Notez également , que je n'ai pas testé sur iPhone, seulement sur l'iPad.

+0

@kasperjj - Merci, cela fonctionne comme un charme. –

Questions connexes