当前位置: 首页 > news >正文

桂林网站建设培训中煤矿山建设集团网站

桂林网站建设培训,中煤矿山建设集团网站,宣传推广方案,公司做免费网站建设遇到一个需求#xff0c;要提取图片中的色调#xff0c;但还有一点特殊的需求#xff0c;就是不是提取颜色最多的色调#xff0c;也不是平均的色调#xff0c;是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法#xff0c; 下面就看代码 dispatch_async(dispatch…遇到一个需求要提取图片中的色调但还有一点特殊的需求就是不是提取颜色最多的色调也不是平均的色调是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法 下面就看代码 dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{// 第一步 先把图片缩小 加快计算速度. 但越小结果误差可能越大int bitmapInfo kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedLast;CGSize thumbSize CGSizeMake(100, 100*self.backgroundImgView.height/(self.backgroundImgView.width ?: 100));CGColorSpaceRef colorSpace CGColorSpaceCreateDeviceRGB();CGContextRef context CGBitmapContextCreate(NULL,thumbSize.width,thumbSize.height, 8, thumbSize.width*4, colorSpace,bitmapInfo);CGRect drawRect CGRectMake(0, 0, thumbSize.width, thumbSize.height);CGContextDrawImage(context, drawRect, image.CGImage);CGColorSpaceRelease(colorSpace);// 第二步 取每个点的像素值unsigned char* data CGBitmapContextGetData (context);if (data NULL) {dispatch_async(dispatch_get_main_queue(), ^{callBack(nil);});};NSCountedSet* cls [NSCountedSet setWithCapacity: thumbSize.width * thumbSize.height];for (int x 0; x thumbSize.width; x) {for (int y 0; y thumbSize.height; y) {int offset 4 * (x * y);int red data[offset];int green data[offset 1];int blue data[offset 2];int alpha data[offset 3];// 过滤透明的、基本白色、基本黑色// 这里限制170是因为要去除偏亮的颜色 越接近250越亮if (alpha 0 (red 170 green 170 blue 170) (red 5 green 5 blue 5)) {NSArray *clr [(red),(green),(blue),(alpha)];[cls addObject:clr];}}}CGContextRelease(context);//第三步 找到出现次数最多的那个颜色NSEnumerator *enumerator [cls objectEnumerator];NSArray *curColor nil;NSArray *MaxColor nil;NSUInteger MaxCount 0;while ((curColor [enumerator nextObject]) ! nil){NSUInteger tmpCount [cls countForObject:curColor];if ( tmpCount MaxCount ) continue;MaxCount tmpCount;MaxColor curColor;}UIColor * subjectColor [UIColor colorWithRed:([MaxColor[0] intValue]/255.0f) green:([MaxColor[1] intValue]/255.0f) blue:([MaxColor[2] intValue]/255.0f) alpha:([MaxColor[3] intValue]/255.0f)];dispatch_async(dispatch_get_main_queue(), ^{callBack(subjectColor);});}); }如以上代码要注意这句条件限制 red 170 green 170 blue 170 这就限制我们提取比较暗的色调因为越接近250 颜色是越亮的当然我们可以根据自己的实际需求自己动态的调整提取的色调
http://www.w-s-a.com/news/126734/

相关文章:

  • 网站内链设置wordpress前台特别慢
  • 杭州模板网站建设系统江苏省建设考试网站准考证打印
  • 国家建设执业资格注册中心网站企业手机网站建设机构
  • 内容管理系统做网站怎么做英文版的网站
  • 浙江省专业网站制作网站建设网站设计及内容策划
  • 浙江门户网站建设公司做网站上哪买空间
  • 郑州网站怎么推广贵阳市网站建设
  • 规范网站建设福州外贸网站建设推广
  • 平台电商网站开发传媒公司排行
  • 在哪给人做网站怎么样制作一个网页
  • 网站更改文章标题广西新闻
  • 专业做网站路桥寺院网站建设方案
  • 网站维护与优化教程广州做网站的网络公司排名
  • 网站做贷款许可证网站改版方案模板
  • 装饰公司怎么做网站嘉兴网站制作推广
  • 深圳兼职做网站涿州网站制作
  • 能找本地人做导游的网站app模板素材下载免费
  • 网站积分的作用网站开发需要看相关书籍
  • 建设银行总行网站alexa排名与什么有关系
  • 阿里云服务器发布网站收款网站怎么建设
  • 开发东莞网站制作公司做网站优化步骤
  • 网站版权信息的正确写法如何制作网络游戏
  • 郑州移动端网站建设如何在网上推广自己的公司
  • 企业建站源码系统破解网站后台
  • 石家庄网站开发报价企业注册资本代表什么
  • 招商平台公司宁波seo教程推广平台
  • 哪些网站可以做房产推广垂直门户网站都有什么
  • 不得不知道的网站金石项目管理软件
  • 怎么恢复网站数据库网站开发作业代做
  • 哪里建设网站最好用中国第五冶金建设公司医院网站