//去除图片的白色背景
- (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);
// 遍历像素
int pixelNum = imageWidth * imageHeight;
uint32_t* pCurPtr = rgbImageBuf;
for (int i = 0; i < pixelNum; i++, pCurPtr++)
{
// //去除白色...将0xFFFFFF00换成其它颜色也可以替换其他颜色。
// if ((*pCurPtr & 0xFFFFFF00) >

这篇博客介绍了如何在iOS开发中去除图片的白色背景。通过创建一个以指定颜色填充的图像,可以将图片背景替换为非白色。具体实现方法包括使用颜色生成图片的函数,涉及图形上下文和Core Graphics的相关操作。
787

被折叠的 条评论
为什么被折叠?



