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

时间:2010-04-22 01:14:08

标签: iphone

我有单色图像的比特序列(0 =>黑色,1 =>白色)。我想获取这些数据并在iPhone上绘制彩色图像。如果像素值== 0,则将其绘制为color1,否则为color2。

我绝对无处可去。最初,我以为我可以使用glBitmap,但iPhone不支持它。

有没有人知道如何做到这一点?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我非常怀疑这是“做”它的方式,甚至是做到这一点的好方法,但由于没有其他回应,这里有一种可能的方法:

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上测试。