我尝试为给定的位图区域着色。在屏幕上显示后。
目前我使用以下方法:
有代表位图CGContextRef
和二维位数组 - 通过它我们知道要着色的像素。然后循环抛出这个数组并绘制一个椭圆:
for(int i = 0; i < width; i++){
for(int j = 0; j < height; j++){
if(colormask[i][j] == 1){
CGRect circleRect = CGRectMake(i, j, 1, 1);
CGContextSetRGBFillColor(bitmap, red, green, blue, 1.0);
CGContextFillEllipseInRect(bitmap, circleRect);
}
}
}
这解决了问题,但效果太慢。请提供任何其他想法。也许有使用Quartz的解决方案?