【发布时间】:2010-01-04 17:47:29
【问题描述】:
我有一张图片,里面有东西,背景是白色的。我想以允许 alpha 通道的格式保存该图像,或者以白色像素变为透明的方式使用 alpha 蒙版。有灯吗?
【问题讨论】:
标签: iphone objective-c image transparency alpha
我有一张图片,里面有东西,背景是白色的。我想以允许 alpha 通道的格式保存该图像,或者以白色像素变为透明的方式使用 alpha 蒙版。有灯吗?
【问题讨论】:
标签: iphone objective-c image transparency alpha
我不知道有哪个库可以让这变得超级简单。但是,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);
并将数据写入磁盘。我希望这有帮助。如果找到解决方案,请发布...
【讨论】: