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

网站建设实施方案鸿科经纬教网店运营推广

网站建设实施方案,鸿科经纬教网店运营推广,怎么做视频网站,网站建设发展前景遇到一个需求,要提取图片中的色调,但还有一点特殊的需求,就是不是提取颜色最多的色调,也不是平均的色调,是图片中偏暗的色调 这就需要我们动态的调整我们提取的算法, 下面就看代码 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.dt0577.cn/news/27988.html

相关文章:

  • 付公司网站建设费用会计分录免费公司网址怎么注册
  • seo优化排名方法seo网站优化推广
  • 百度联盟怎么做自己的网站搜索引擎营销的主要方式有哪些?
  • 网站备案工作站长统计app软件下载2021
  • 做素材网站如何赚钱深圳最好seo
  • 网站中文域名到期怎么收录网站
  • 丹东网站优化苹果cms永久免费全能建站程序
  • 两学一做网站是多少钱营销培训方案
  • 白沟17网站一起做网店无线网络优化工程师
  • 用dw做网站图片的基本尺寸seo核心技术排名
  • php做网站后台教程百度用户服务中心人工24小时电话
  • 安岳建设局网站网络搜索引擎有哪些
  • 网站改版一般需要多久百度助手app免费下载
  • 怎么建网站手机版百度指数可以用来干什么
  • 洮南网站建设哪家专业网站关键词推广
  • 重庆网站建设-首选云慧通网站外部优化的4大重点
  • 游戏网站的监管由谁来做谷歌google下载
  • 百度做网站多少钱能做湖南seo推广软件
  • 如何制作网页网站参考网是合法网站吗?
  • 苏州那里可以建网站哪些平台可以发布软文
  • 招聘网站上还要另外做简历吗微博推广有用吗
  • 网上订餐网站模板百度小程序对网站seo
  • 长春做网站公司搜索关键词软件
  • 做网站一般什么问题湖南seo公司
  • 网站建设的未来网站搭建
  • 网站开发中的渲染是什么意思关键词优化网站排名
  • 云南疫情风险地区最新名单广东网站营销seo方案
  • 网站是怎么做新手引导seo搜索优化公司报价
  • 深圳低价网站建设网络推广课程培训
  • 精品网络小说推荐seo文章代写一篇多少钱