大家好,这两天看iphone客户端的美图秀秀,我看他那个处理图片,可以把一张彩色的图片设置成黑白的,我今天查了很多资料,也尝试了做一下,但是都没有做出来那个,我想请问下各位大牛,有没有什么好的思路给我提供一下,谢谢. 就是目前有一张图片,是彩色的,但是我想给他变成黑白的,我应该怎么处理.谢谢
解决方案 »
- ipad调用系统照相机 bar 按钮怎么能显示中文
- 如何用scons生成v8的可以正确device release 编译的库
- iphone qq浏览器的奇怪问题
- 【100分】菜鸟求助; window下如何搭建iphone的开发环境?
- 一个简单的socket+UItableView实现的聊天程序,引起的iOS内存管理的困扰!!!!
- 引用计数问题
- tcp 收到视频数据 如何显示出视频?
- 黑苹果 准备升级10.10了。。回复都有分~
- 请教IOS页面跳转动画问题(手机淘宝)
- iOS Swift 的NSSetUncaughtExceptionHandler全局异常捕获不回调
- iphone程序 实现在google地图上画线:mkpolyline
- 求 一个 iphone 相册实现的方法
UIImage *image = ???
image = [image grayscale];
就变黑白了
-(UIImage*)grayscale
{
/* const UInt8 luminance = (red * 0.2126) + (green * 0.7152) + (blue * 0.0722); // Good luminance value */
/// Create a gray bitmap context
const size_t width = self.size.width;
const size_t height = self.size.height;
CGRect imageRect = CGRectMake(0, 0, self.size.width, self.size.height);
CGColorSpaceRef colorSpace = CGColorSpaceCreateDeviceGray();
CGContextRef bmContext = CGBitmapContextCreate(NULL, width, height, 8/*Bits per component*/, width * 3, colorSpace, kCGImageAlphaNone);
CGColorSpaceRelease(colorSpace);
if (!bmContext)
return nil;
/// Image quality
CGContextSetShouldAntialias(bmContext, false);
CGContextSetInterpolationQuality(bmContext, kCGInterpolationHigh);
/// Draw the image in the bitmap context
CGContextDrawImage(bmContext, imageRect, self.CGImage);
/// Create an image object from the context
CGImageRef grayscaledImageRef = CGBitmapContextCreateImage(bmContext);
UIImage *grayscaled = [UIImage imageWithCGImage:grayscaledImageRef
scale:self.scale
orientation:self.imageOrientation];
/// Cleanup
CGImageRelease(grayscaledImageRef);
CGContextRelease(bmContext);
return grayscaled;
}