美图秀秀的智能优化界面十分简单明了,它只包含了一张要进行处理的图片和一个bar,再就是取消操作和保存操作的2个按钮,先附一张界面图

一、点击美化图片首页【智能优化】,进入具体操作界面

FWFunctionViewController *vc = [[FWFunctionViewController alloc] initWithImage:self.image type:FWBeautyProcessTypeAutoBeauty];

[self presentViewController:vc animated:YES completion:^{}];

[vc displayAutoBeautyPage];

displayAutoBeautyPage方法用来显示页面,它调用了setupImageView和setupBar方法,来装配具体内容。

setupImageView调整需要处理图片的显示位置

    if (self.type == FWBeautyProcessTypeAutoBeauty || self.type == FWBeautyProcessTypeColorList || self.type == FWBeautyProcessTypeEdit){//105 = 设备高 - 关闭按钮高度 - 3段间距:30 - bar高度:55 - 的结果self.imageView.frame = CGRectMake(0, 0, WIDTH, HEIGHT - 115);}self.imageView.contentMode = UIViewContentModeScaleAspectFit;[self.view addSubview:self.imageView];

setupBar用来装配bar的内容和位置

   self.styleBar = [[FWEffectBar alloc] init];NSDictionary *autoDict = nil;if (self.type == FWBeautyProcessTypeAutoBeauty || self.type == FWBeautyProcessTypeColorList){self.styleBar.frame = CGRectMake(0,HEIGHT - 105, WIDTH, 55);if (self.type == FWBeautyProcessTypeAutoBeauty )autoDict = [[FWCommonTools getPlistDictionaryForButton] objectForKey:@"AutoBeauty"];elseautoDict = [[FWCommonTools getPlistDictionaryForButton] objectForKey:@"ColorValue"];}else if (self.type == FWBeautyProcessTypeEdit){self.styleBar.frame = CGRectMake(100, HEIGHT - 55, 160, 55);autoDict = [[FWCommonTools getPlistDictionaryForButton] objectForKey:@"Edit"];}NSArray *normalImageArr = [autoDict objectForKey:@"normalImages"];NSArray *hightlightedImageArr = [autoDict objectForKey:@"HighlightedImages"];NSArray *textArr = [autoDict objectForKey:@"Texts"];NSMutableArray *arr = [[NSMutableArray alloc] initWithCapacity:0];for (int i = 0; i < [textArr count]; i++){FWEffectBarItem *item = [[FWEffectBarItem alloc] initWithFrame:CGRectZero];[item setFinishedSelectedImage:[UIImage imageNamed:[hightlightedImageArr objectAtIndex:i]] withFinishedUnselectedImage:[UIImage imageNamed:[normalImageArr objectAtIndex:i]] ];item.title = [textArr objectAtIndex:i];[arr addObject:item];}self.styleBar.items = arr;self.styleBar.effectBardelegate = self;[self.styleBar setSelectedItem:[self.styleBar.items objectAtIndex:0]];[self.view addSubview:self.styleBar];[self effectBar:self.styleBar didSelectItemAtIndex:0];

setupBar

getPlistDictionaryForButton方法用来读取effectViewInfo.plist文件中内容。effectViewInfo.plist文件包含了一些项目中需要使用到的图片资源

+ (NSDictionary *)getPlistDictionaryForButton
{NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"effectViewInfo" ofType:@"plist"];return [[NSDictionary alloc] initWithContentsOfFile:plistPath];;
}

关于bar中需要的文本和图片资源信息都存放在plist文件中,这样可以节省许多代码。下面展示一下plist文件内容

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>speciallyeffect</key><dict><key>Texts</key><array><string>LOMO</string><string>美颜</string><string>格调</string><string>艺术</string></array></dict><key>Edit</key><dict><key>normalImages</key><array><string>icon_edit_clip_a@2x.png</string><string>icon_edit_rotate_a@2x.png</string><string>icon_edit_sharp_a@2x.png</string></array><key>HighlightedImages</key><array><string>icon_edit_clip_b@2x.png</string><string>icon_edit_rotate_b@2x.png</string><string>icon_edit_sharp_b@2x.png</string></array><key>Texts</key><array><string>裁剪</string><string>旋转</string><string>锐化</string></array></dict><key>ColorValue</key><dict><key>normalImages</key><array><string>icon_brightness_a@2x.png</string><string>icon_contrast_a@2x.png</string><string>icon_colourTemperature_a@2x.png</string><string>icon_saturation_a@2x.png</string><string>icon_hightLight_a@2x.png</string><string>icon_shade_a@2x.png</string><string>icon_fillinlight_a@2x.png</string></array><key>HighlightedImages</key><array><string>icon_brightness_b@2x.png</string><string>icon_contrast_b@2x.png</string><string>icon_colourTemperature_b@2x.png</string><string>icon_saturation_b@2x.png</string><string>icon_hightLight_b@2x.png</string><string>icon_shade_b@2x.png</string><string>icon_fillinlight_b@2x.png</string></array><key>Texts</key><array><string>亮度</string><string>对比度</string><string>色温</string><string>饱和度</string><string>高光</string><string>暗部</string><string>智能补光</string></array></dict><key>MagicBrush</key><dict><key>normalImages</key><array><string>magic_brush_09@2x.png</string><string>magic_brush_13@2x.png</string><string>magic_brush_16@2x.png</string><string>magic_brush_17@2x.png</string><string>magic_brush_12@2x.png</string><string>magic_brush_14@2x.png</string><string>magic_brush_15@2x.png</string><string>magic_brush_11@2x.png</string><string>magic_brush_01@2x.png</string><string>magic_brush_02@2x.png</string><string>magic_brush_03@2x.png</string><string>magic_brush_04@2x.png</string><string>magic_brush_05@2x.png</string><string>magic_brush_06@2x.png</string><string>magic_brush_07@2x.png</string><string>magic_brush_08@2x.png</string><string>magic_brush_10@2x.png</string><string>magic_brush_eraser@2x.png</string></array><key>HighlightedImages</key><array><string></string></array><key>Texts</key><array><string>烟花棒</string><string>炫光</string><string>丝带</string><string>彩虹</string><string>四叶草</string><string>紫光</string><string>绿宝石</string><string>花瓣</string><string>七彩光圈</string><string>爱心</string><string>光晕</string><string>飘雪</string><string>心动</string><string>小星星</string><string>梦幻</string><string>萤火虫</string><string>荧光笔</string><string>橡皮擦</string></array></dict><key>AutoBeauty</key><dict><key>Texts</key><array><string>原图</string><string>自动</string><string>美食</string><string>静物</string><string>风景</string><string>去雾</string><string>人物</string></array><key>HighlightedImages</key><array><string>icon_autobeauty1_b@2x.png</string><string>icon_autobeauty2_b@2x.png</string><string>icon_autobeauty4_b@2x.png</string><string>icon_autobeauty5_b@2x.png</string><string>icon_autobeauty6_b@2x.png</string><string>icon_autobeauty7_b@2x.png</string><string>icon_autobeauty3_b@2x.png</string></array><key>normalImages</key><array><string>icon_autobeauty1_a@2x.png</string><string>icon_autobeauty2_a@2x.png</string><string>icon_autobeauty4_a@2x.png</string><string>icon_autobeauty5_a@2x.png</string><string>icon_autobeauty6_a@2x.png</string><string>icon_autobeauty7_a@2x.png</string><string>icon_autobeauty3_a@2x.png</string></array></dict>
</dict>
</plist>

effectViewInfo.plist

目前只实现了界面,具体功能还没有实现。

下载项目

转载于:https://www.cnblogs.com/salam/p/5094819.html

美图秀秀美化图片之【智能优化】模块界面设计相关推荐

  1. 美图秀秀-美化图片之【特效】界面设计

    本文是特效界面设计,在美图秀秀的特效模块主要是实现图片添加滤镜效果,界面挺炫的. 界面包含黑边和虚化按钮,4种类型的滤镜,每种类型又包含许多具体滤镜效果,当我们点击时候开始处理图片 1.加载图片 se ...

  2. 美图秀秀美化图片之【边框】界面设计【重大更新】

    在进行写边框前,需要通知大家一声,整个美化图片的界面开发已经完全重写,请大家先下载最新的项目[点击下载] 效果图 在前面的开发方法中由于没有考虑许多因素,造成viewcontroller代码混乱,所以 ...

  3. 美图秀秀-美化图片之【背景虚化】界面设计

    本文是背景虚化界面设计,在美图秀秀的背景虚化模块主要是图像的模糊处理,可以按照圆形和线性进行模糊处理,并生成选定的形状. 在开发中遇到的误区 1.模糊形状使用UIImageView,遇到一些麻烦,即使 ...

  4. 仿美图秀秀的图片剪切

    先贴上美图秀秀原作的效果图,右边是我仿的效果图. 刚一眼打量过去,吸引我们的就是那四个大点.就从它开始吧,目前看来这个大点是一个图片,当点击下去的时候有加亮的效果,可能这又是一张图片.我们先不要考虑这 ...

  5. Android实现仿美图秀秀给图片加框

    // 花色边框  public Bitmap getBitmapHuaSeBianKuang(Bitmap bitmap) {   float frameSize = 0.5f * getFrameS ...

  6. 从工具到社区,美图秀秀大规模性能优化实践

    导读:本文由演讲整理而成.美图秀秀社区自上线以来已经有近一年时间,不管是秀秀海量的用户还是图片社区特有的形态都给性能优化提出了巨大的挑战.本文将会结合这一年内我们遇到的具体案例和大家分享下美图秀秀社区 ...

  7. 潇洒郎:GMIP——美图秀秀——两种方法——图片透明化,游戏界面人物,对象需要透明

    今天跟大家分享一下如何将图片处理为透明化.因为做游戏界面的时候我们为了不让界面显得很突兀.看起来不和谐,所以需要将图片该透明的透明. 先说下图片小知识: 将图片划分为4维通道:RGBA.其中RGB代表 ...

  8. 快手、抖音威胁下,美图秀秀转型影像社交的新故事怎么讲?

    近日,美图秀秀发布了8.0版本,不仅启用了全新的品牌标识,而且增加了社交圈功能,美图秀秀至此从图片处理工具转型为影像社交平台.美图的社交梦由来已久,社交布局上已有短视频平台美拍,如今又尝试将美图秀秀打 ...

  9. android 图片排版,Android版美图秀秀优化拼图排版

    看完了<北京爱情故事>,那留下太多悬念的结局,让人不由思考着关于爱的故事还会怎样延续?陈思成佟丽娅相恋却在戏外给了我们一个满意的答案.正巧,美图秀秀安卓v1.4.5新版上线,优化拼图版式和 ...

最新文章

  1. 【网站汇总】单片机常用通讯协议
  2. java 随机生成常用汉字_Java随机生成中文汉字
  3. shell 删除了hdfs 文件_知识干货 | 大数据全解 HDFS分布式文件系统
  4. 通用用户权限管理系统组件V3.8功能改进说明 - 行政审批流程组件的改进
  5. Math4DS 直播 NO.10 | “机器学习之父”、加州大学伯克利分校迈克尔·乔丹
  6. 传统企业如何在数字化时代实现进化?
  7. NOIP模拟——change
  8. android jni ——Field Method -- Accessing Field
  9. c#进阶(1)—— Task Parallel Library 并行执行与串行执行
  10. C语言构建一个链表以及操作链表
  11. java删除指定文件后重新建立文件系统_java file 操作之创建、删除文件及文件夹...
  12. 啦啦外卖45.4至尊版全开源独立版源码
  13. 抖音源码有什么奥秘?抖音为什么能推动短视频开发的热度
  14. 证件照尺寸大小收集整理
  15. linux中文成方块,给linux添加字体
  16. 改进平滑滚动,修改音量调节级数实现音量微调【编译自XDA 适用于大部分设备】
  17. 教你玩转QQ的10大绝招
  18. c语言说明函数的作用是,C语言中rewind函数的作用是什么?
  19. react + canvas点线动画背景
  20. Android框架的详解

热门文章

  1. 叩丁狼—Java培训实战教程之mysql优化
  2. 真TMD难,代码。我是菜鸟别喷
  3. 【RocketMQ】消息的拉取
  4. centOS7修改vnc密码
  5. vue 纯前端登录验证码
  6. oracle分页rowid,oracle中rowid高速分页
  7. 深度强化学习-Double DQN算法原理与代码
  8. word编辑过程中突然发现后面好几页消失不见
  9. 大白话告诉你内网穿透原理和验证
  10. 魔兽世界角色换装分析