如何使用单色位图在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上测试过。
@kasperjj - 谢谢,它像一个魅力。 – 2010-04-22 21:14:11