我有一张图片,里面有白色背景的东西。我想以允许 alpha 通道的格式保存该图像,或者以白色像素变为透明的方式使用 alpha 蒙版。外面有灯吗?
问问题
2096 次
1 回答
5
我不知道有哪个图书馆超级容易。但是,这里的 GLImageProcessing 示例中有很多相关的示例代码。(我没有运行以下)
UIImage *some_image = [UIImage imageNamed:@"somethin'.tiff"];
CGImageRef cg_image = some_image.CGImage;
CFDataRef data = CGDataProviderCopyData(CGImageGetDataProvider(cg_image));
size_t bpp = CGImageGetBitsPerPixel(CGImage);
uint32_t *stuff = (uint32_t *)CFDataGetBytePtr(data);
int w = CGImageGetWidth(CGImage);
int h = CGImageGetHeight(CGImage);
int N = w * h;
for (int i = 0; i < N; i++ ) {
// do your stuff, test for white, set the alpha mask
stuff[i] = stuff[i] & ((uint32_t)0xFFFFFFFF | alpha_mask);
}
您可以改为使用此功能
UIKIT_EXTERN NSData *UIImagePNGRepresentation(UIImage *image);
并将数据写入磁盘。我希望这有帮助。如果找到解决方案,请发布...
于 2010-01-04T18:29:56.010 回答