我有单色图像的比特序列(0 =>黑色,1 =>白色)。我想获取这些数据并在iPhone上绘制彩色图像。如果像素值== 0,则将其绘制为color1,否则为color2。
我绝对无处可去。最初,我以为我可以使用glBitmap,但iPhone不支持它。
有没有人知道如何做到这一点?
提前致谢。
答案 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上测试。