首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >图像处理

图像处理
EN

Stack Overflow用户
提问于 2010-12-14 17:43:56
回答 1查看 257关注 0票数 0

如何使用iphone sdk中的单个uislider控制多个UIImageview操作?像色调,对比度,亮度,圣化,锐度这样的动作。

任何示例代码或教程。请提前帮助me.Thanks。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-15 15:40:42

您需要访问UIImageView的像素数组。以CGContextRef为例(还有很多其他方法)

代码语言:javascript
复制
CGContextRef context = [self createARGBBitmapContextFromImage:yourView.image.CGImage];
unsigned char* data = CGBitmapContextGetData (context);

size_t width = CGImageGetWidth(yourView.image.CGImage);
size_t height = CGImageGetHeight(yourView.image.CGImage);


for (int y=0; y<height; y++) {
  for (int x=0; x<width; x++) {
    int pos = y*width + x;
    int argb = data[pos];
    int r = (argb >> 16) & 0xff;
    int g = (argb >>  8) & 0xff;
    int b =  argb        & 0xff;
// do here your transformations
    data[pos] = (0xFF<<24) | (r<<16) | (g<<8) | b;
  }
}

一个简单的转换就是亮度到示例:

代码语言:javascript
复制
r = (int) (r + brightness);
g = (int) (g + brightness);
b = (int) (b + brightness);
if(r>=255) r=255;
if(g>=255) g=255;
if(b>=255) b=255;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4437785

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档