小编You*_*Nam的帖子

使用Objective C将RGB彩色图像更改为灰度图像

我正在开发一个将彩色图像更改为灰色图像的应用程序.但是,有些图片如何出错.我不知道代码有什么问题.也许我输入的参数是错误请帮忙.

 UIImage *c = [UIImage imageNamed:@"downRed.png"];
 CGImageRef cRef = CGImageRetain(c.CGImage);

 NSData* pixelData = (NSData*) CGDataProviderCopyData(CGImageGetDataProvider(cRef));

 size_t w = CGImageGetWidth(cRef);
 size_t h = CGImageGetHeight(cRef);

 unsigned char* pixelBytes = (unsigned char *)[pixelData bytes];

 unsigned char* greyPixelData = (unsigned char*) malloc(w*h);

 for (int y = 0; y < h; y++) {
 for(int x = 0; x < w; x++){

 int iter = 4*(w*y+x);
 int red = pixe lBytes[iter];
 int green = pixelBytes[iter+1];
 int blue = pixelBytes[iter+2];
 greyPixelData[w*y+x] = (unsigned char)(red*0.3 + green*0.59+ blue*0.11); …
Run Code Online (Sandbox Code Playgroud)

pixel objective-c grayscale

7
推荐指数
2
解决办法
7766
查看次数

标签 统计

grayscale ×1

objective-c ×1

pixel ×1