iOS UIImage如何以编程方式将黑色转换为透明?

亚历克斯·斯通

我有一个悬停在按钮上方的图标。该图标是白色的黑色,我想以编程方式“切出”黑色区域。

如何以编程方式将图标的黑色区域转换为透明区域?

在此处输入图片说明

铸造厂

您可以使用核心图像滤镜-尤其是滤镜 CIMaskToAlpha

有关使用CIFilter的详细说明,请参阅Apple的Core Image编程指南RayWenderlich教程。

编辑:此滤镜采用黑色像素并使它们完全透明,并用不透明替换白色像素,用部分透明替换灰色像素,等等。

-(void)setImage:(UIImage *)image_
{

    UIImage *entryImage  = image_;
    CIContext *context = [CIContext contextWithOptions:nil];

    CIImage *image = [CIImage imageWithCGImage:[entryImage CGImage]];
    CIFilter *filter = [CIFilter filterWithName:@"CIMaskToAlpha"];
    [filter setDefaults];
    [filter setValue:image forKey:kCIInputImageKey];
    //    CIImage *result = [filter valueForKey:kCIOutputImageKey];
    CIImage *result = [filter outputImage];

    CGImageRef cgImage = [context createCGImage:result fromRect:[result extent]];

    UIImage *newImage = [UIImage imageWithCGImage:cgImage scale:[entryImage scale] orientation:UIImageOrientationUp];
    CGImageRelease(cgImage);
    [super setImage:newImage];
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何以编程方式解锁iOS屏幕?

来自分类Dev

XCODE 5 iOS7如何在不丢失透明背景的情况下将UIImage(PNG)转换为NSData

来自分类Dev

如何以编程方式关闭iOS 7自动布局

来自分类Dev

如何以编程方式重新启动iOS设备?

来自分类常见问题

如何以编程方式获取iOS 7默认蓝色?

来自分类Dev

如何以编程方式设置iOS 6/7 Delta

来自分类Dev

如何以编程方式更改iOS设备的音量?

来自分类Dev

iOS:如何以编程方式安装配置文件

来自分类Dev

iOS-如何以编程方式创建WKWebView后退按钮?

来自分类Dev

iOS:如何以编程方式实例化YTPlayerView?

来自分类Dev

如何以编程方式设置iOS 6/7 Deltas

来自分类Dev

如何以编程方式关闭iOS 7自动布局

来自分类Dev

如何以编程方式重新启动iOS设备?

来自分类Dev

Uber iOS SDK - 如何以编程方式添加促销代码

来自分类Dev

ios-以编程方式将.m4a转换为.mp3文件

来自分类Dev

ios-以编程方式将.m4a转换为.mp3文件

来自分类Dev

如何以编程方式将NSData转换为NSString?

来自分类Dev

如何将 byte[] 数组中的图像转换为 Xamarin.IOS UIImage 控件

来自分类Dev

在iOS 7 / Objective-C中,如何以编程方式将UIPickerView捕捉到其所在的父视图的底部?

来自分类Dev

如何以编程方式将附件从“默认邮件应用程序”添加到iOS中的“ MyApp”?

来自分类Dev

如何将Curl转换为iOS

来自分类Dev

将iOS64中的iOS Swift UIImage字符串转换为PHP

来自分类Dev

如何以编程方式从iOS应用程序打开Apple Watch伴侣应用程序

来自分类Dev

iOS如何以编程方式读取设备的屏幕自动锁定超时时间?

来自分类Dev

如何以编程方式从iOS7设备获取未更改的设备ID

来自分类Dev

如何以编程方式取消选择静态单元格iOS

来自分类Dev

iOS iBeacon:如何以编程方式获取所有近距离UUID?

来自分类Dev

如何以编程方式检查iOS方向是否已锁定-Swift

来自分类Dev

如何以编程方式获取ios项目中包含的框架和库的列表?

Related 相关文章

  1. 1

    如何以编程方式解锁iOS屏幕?

  2. 2

    XCODE 5 iOS7如何在不丢失透明背景的情况下将UIImage(PNG)转换为NSData

  3. 3

    如何以编程方式关闭iOS 7自动布局

  4. 4

    如何以编程方式重新启动iOS设备?

  5. 5

    如何以编程方式获取iOS 7默认蓝色?

  6. 6

    如何以编程方式设置iOS 6/7 Delta

  7. 7

    如何以编程方式更改iOS设备的音量?

  8. 8

    iOS:如何以编程方式安装配置文件

  9. 9

    iOS-如何以编程方式创建WKWebView后退按钮?

  10. 10

    iOS:如何以编程方式实例化YTPlayerView?

  11. 11

    如何以编程方式设置iOS 6/7 Deltas

  12. 12

    如何以编程方式关闭iOS 7自动布局

  13. 13

    如何以编程方式重新启动iOS设备?

  14. 14

    Uber iOS SDK - 如何以编程方式添加促销代码

  15. 15

    ios-以编程方式将.m4a转换为.mp3文件

  16. 16

    ios-以编程方式将.m4a转换为.mp3文件

  17. 17

    如何以编程方式将NSData转换为NSString?

  18. 18

    如何将 byte[] 数组中的图像转换为 Xamarin.IOS UIImage 控件

  19. 19

    在iOS 7 / Objective-C中,如何以编程方式将UIPickerView捕捉到其所在的父视图的底部?

  20. 20

    如何以编程方式将附件从“默认邮件应用程序”添加到iOS中的“ MyApp”?

  21. 21

    如何将Curl转换为iOS

  22. 22

    将iOS64中的iOS Swift UIImage字符串转换为PHP

  23. 23

    如何以编程方式从iOS应用程序打开Apple Watch伴侣应用程序

  24. 24

    iOS如何以编程方式读取设备的屏幕自动锁定超时时间?

  25. 25

    如何以编程方式从iOS7设备获取未更改的设备ID

  26. 26

    如何以编程方式取消选择静态单元格iOS

  27. 27

    iOS iBeacon:如何以编程方式获取所有近距离UUID?

  28. 28

    如何以编程方式检查iOS方向是否已锁定-Swift

  29. 29

    如何以编程方式获取ios项目中包含的框架和库的列表?

热门标签

归档