如何使用单色位图在iPhone上显示彩色图像?

问题描述:

我有一个黑白图像的位序列(0 =>黑色,1 =>白色)。我想获取这些数据并在iPhone上以彩色绘制图像。如果像素值== 0,则将其绘制为color1,否则color2。如何使用单色位图在iPhone上显示彩色图像?

我已经绝对无处可去。最初,我想我可以使用glBitmap,但它不支持在iPhone上。

有没有人有如何做到这一点的想法?

在此先感谢。

我高度怀疑,这是“”这样做的方式,还是做这件事的,即使一个很好的方式,但因为没有其他答复,这里是一个可行的办法:

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(); 

还要注意,我没有真正在iPhone上测试过,只在iPad上测试过。

+0

@kasperjj - 谢谢,它像一个魅力。 – 2010-04-22 21:14:11