零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 基础
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> Object-C 线程
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> OpenGL ES
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> GPUImage
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> AVFoundation
零基础 Object-C 学习路线推荐 : Object-C 学习目录 >> CocoaPods
一.UIImage 黑白处理
/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:Object-C UIImage 黑白
//@Time:2021/10/10 08:00
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/
/**
* return 灰色图片
* @param imageName 图片名称
*/
-(UIImage *)imageToGrary:(NSString *)imageName {
// 1.拿到图片,获取宽高
CGImageRef imageRef = [UIImage imageNamed:imageName].CGImage;
NSInteger width = CGImageGetWidth(imageRef);
NSInteger height = CGImageGetHeight(imageRef);
// 2:创建颜色空间(灰色空间
CGColorSpaceRef colorSpaceRef = CGColorSpaceCreateDeviceGray();
CGContextRef contextRef = CGBitmapContextCreate(nil,
width,
height,
8, // 固定写法 8位
width * 4, // 每一行的字节 宽度 乘以32位 = 4字节
colorSpaceRef,
kCGImageAlphaNone); // 无透明度
if (!contextRef) {
return [UIImage imageNamed:imageName];
}
CGContextDrawImage(contextRef, CGRectMake(0, 0, width, height), imageRef);
CGImageRef grayImageRef = CGBitmapContextCreateImage(contextRef);
UIImage * graryImage = [UIImage imageWithCGImage:grayImageRef];
//释放内存
CGColorSpaceRelease(colorSpaceRef);
CGContextRelease(contextRef);
CGImageRelease(grayImageRef);
return graryImage;
}
- (void)viewDidLoad {
[super viewDidLoad];
UIImage* dstImage = [self imageToGrary:@"123.png"];
return;
}
原图:
结果:
二.猜你喜欢
- iOS NSString 拆分字符串
- iOS NSString 截取字符串
- iOS NSString 和 NSArray 相互转换
- iOS NSString 包含字符串/匹配字符串
- iOS NSURL URLWithString 与 fileURLWithPath 区别
- iOS NSURL 与 NSString相互转换
- iOS NSString 获取中文字符串长度
- iOS NSString 判断字符串是否为空判
- iOS NSString 获取指定下标字符
- iOS NSString 匹配字符串开头
- iOS NSString 匹配字符串结尾
- iOS NSString 判断两个字符串是否相等
- iOS NSString 将字符串中的字母转换为大写
- iOS NSString 将字符串中的字母转换为小写
- iOS NSString 将字符串中的首字母变为大写
- iOS NSString 拼接字符串
- iOS NSString 插入字符串
- iOS NSString 删除字符串
- iOS NSNumber 和 int 相互转换
- iOS NSNumber compare 比较
- iOS NSNumber isEqualToNumber
- iOS NSValue 和 CGPoint 相互转换
- iOS NSValue 和 CGSize 相互转换
- iOS UIImage 与 RGBA 相互转换
- Object-C UIImage 缩放
- Object-C UIImage 裁剪
- Object-C UIImage 旋转
- Object-C UIImage 合并多张图片
- Object-C UIImage 黑白处理
ChatGPT 3.5 国内中文镜像站免费使用啦
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容