之前写过一篇有关更换图片背景色的文章,今天遇到一块儿了,就干脆重新整理一下了。iOS开发中常用的对图片的处理操作:
一.更换图片的背景颜色
/**
* 改变图片背景为白色
*
* @param image 图片源
*
* @return 返回更改过背景后的图片
*/
+ (UIImage*) imageToTransparent:(UIImage*) image
{
// 分配内存
const int imageWidth = image.size.width;
const int imageHeight = image.size.height;
size_t bytesPerRow = imageWidth * 4;
uint32_t* rgbImageBuf = (uint32_t*)malloc(bytesPerRow * imageHeight);
// 创建context
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceRGB();
CGContextRef context = CGBitmapContextCreate(rgbImageBuf, imageWidth, imageHeight, 8, bytesPerRow, colorSpace,
kCGBitmapByteOrder32Little | kCGImageAlphaNoneSkipLast);
CGContextDrawImage(context, CGRectMake(0, 0, imageWidth, imageHeight), image.CGImage);
// 遍历像素