2
我有一个在白色背景里面的东西的图像。我想以允许alpha通道的格式或使用alpha遮罩的方式将图像保存为白色像素变为透明的方式。那里有灯吗?如何在iPhone SDK中将图像保存为带有alpha通道或alpha蒙版的Tiff或PNG?
我有一个在白色背景里面的东西的图像。我想以允许alpha通道的格式或使用alpha遮罩的方式将图像保存为白色像素变为透明的方式。那里有灯吗?如何在iPhone SDK中将图像保存为带有alpha通道或alpha蒙版的Tiff或PNG?
我不知道任何这是超级容易的图书馆。但是,GLImageProcessing示例here中有很多相关示例代码。 (我还没有运行以下)
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);
并将数据写入到磁盘。我希望这有帮助。发布解决方案,如果你发现它...
嗯,我一直在做一些研究,并在文件系统中,无论你如何处理图像,iPhone保存为.jpg图像,它永远不会保存alpha通道到目前为止。 无论如何感谢@robert。 – jsicary 2010-08-28 18:15:32
这是不正确的。您可以保存带有Alpha通道的图像。 – Beaker 2010-11-03 08:20:14