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

  在进行写边框前,需要通知大家一声,整个美化图片的界面开发已经完全重写,请大家先下载最新的项目【点击下载

效果图

    

在前面的开发方法中由于没有考虑许多因素,造成viewcontroller代码混乱,所以重新开发了界面,所有美化图片的独立功能都具有一个独立的viewController,这样不易混乱。另外学习到了,使用

imageNamed方法时,如果图片的格式是PNG的可以不加.png,但是其他比如jpg的图片必须加.jpg后缀。

一、链接

    else if ([text isEqualToString:@"边框"])
    {
        FWBorderViewController *vc = [[FWBorderViewController alloc] initWithImage:self.image];
        [self presentViewController:vc animated:YES completion:^{
        }];
    }

二、加载界面

1.加载要处理的图片

 //显示图片
    self.imageView = [[UIImageView alloc] initWithImage:self.image];
    self.imageView.frame = CGRectMake(0, 0, WIDTH, HEIGHT - 50 - 70);
    self.imageView.contentMode = UIViewContentModeScaleAspectFit;
    [self.view addSubview:self.imageView];

2.加载保存、取消按钮

  

    //保存与取消按钮的添加
    UIImage *i1 = [UIImage imageNamed:@"[email protected]"];
    self.btnClose = [UIButton buttonWithType:UIButtonTypeCustom];
    [self.btnClose setImage:i1 forState:UIControlStateNormal];
    self.btnClose.frame = CGRectMake(20, HEIGHT - kCancelHeight - 10, kCancelHeight, kCancelHeight);
    [self.btnClose addTarget:self action:@selector(btnCancelOrSaveClicked:) forControlEvents:UIControlEventTouchUpInside];
    [self.view addSubview:self.btnClose];

    UIImage *i2 = [UIImage imageNamed:@"[email protected]"];
    self.btnSave = [UIButton buttonWithType:UIButtonTypeCustom];
    [self.btnSave setImage:i2 forState:UIControlStateNormal];
    self.btnSave.frame = CGRectMake(WIDTH - kCancelHeight - 20, HEIGHT - kCancelHeight - 10, kCancelHeight, kCancelHeight);
    [self.view addSubview:self.btnSave];
    [self.btnSave addTarget:self action:@selector(btnCancelOrSaveClicked:) forControlEvents:UIControlEventTouchUpInside];

3.加载边框样式【海报、简单、炫彩】bar

    self.styleBar = [[FWEffectBar alloc] initWithFrame:CGRectMake(50, HEIGHT - 40, 200, 20)];
    NSMutableArray *items = [[NSMutableArray alloc] initWithCapacity:0];

    NSArray *titles = [NSArray arrayWithObjects:@"海报边框", @"简单边框", @"炫彩边框", nil];
    for (int i = 0; i < [titles count]; i ++)
    {
        FWEffectBarItem *item = [[FWEffectBarItem alloc] initWithFrame:CGRectZero];
        item.title = [titles objectAtIndex:i];

        [items addObject:item];
    }

    self.styleBar.items = items;
    self.styleBar.effectBarDelegate = self;
    [self.styleBar setSelectedItem:[self.styleBar.items objectAtIndex:0]];
    [self effectBar:self.styleBar didSelectItemAtIndex:0];
    [self.view addSubview:self.styleBar];

4.加载【更多素材】视图

FWMoreEffectView *seView = [[FWMoreEffectView alloc] initWithFrame:CGRectMake(15, HEIGHT - 50 - kHeight, kWidth, kHeight)];
    [self.view addSubview:seView];

FWMoreEffectView是一个自定义的视图,比较简单,这里不多介绍。

5.加载具体边框样式

    

    self.borderStyleBar = [[FWEffectBar alloc] initWithFrame:CGRectMake(70, HEIGHT - 50 - kHeight, WIDTH - 70, kHeight)];
    self.borderStyleBar.effectBarDelegate = self;
    self.borderStyleBar.itemBeginX = 15.0;
    self.borderStyleBar.itemWidth = 50.0;
    self.borderStyleBar.margin = 10.0;  //边框样式默认视图

    [self setupPosterBorder];

    [self.view addSubview:self.borderStyleBar];
- (void)setupBorderEffect:(NSArray *)images
{
    FWEffectBarItem *item = nil;
    NSMutableArray *items = [[NSMutableArray alloc] initWithCapacity:0];

    for (int i = 0; i < [images count]; i++)
    {
        item = [[FWEffectBarItem alloc] initWithFrame:CGRectMake((kWidth + kSpace) * i + 10, 0, kWidth, kHeight)];
        item.backgroundColor = [UIColor whiteColor];
        UIImage *img1 = [UIImage scaleImage:[UIImage imageNamed:[images objectAtIndex:i]] targetWidth:50];

        [item setFinishedSelectedImage:img1 withFinishedUnselectedImage:img1];
        [items addObject:item];
    }

    self.borderStyleBar.items = items;
}

定义一个加载具体边框样式的方法,传递一个样式图片数组,然后调用下面3个方法实现显示

//简单边框视图
- (void)setupSimpleBorderView
{
    [self setupBorderEffect:[NSArray arrayWithObjects:@"border_baikuang_a.jpg", @"border_baolilai_a.jpg", @"border_heikuang_a.jpg", @"border_luxiangji_a.jpg", @"border_onenight_a.jpg", @"border_simple_15.jpg", @"border_simple_16.jpg", @"border_simple_17.jpg", @"border_simple_18.jpg", @"border_simple_19.jpg",nil]];
}

//海报边框视图
- (void)setupPosterBorder
{
    [self setupBorderEffect:[NSArray arrayWithObjects:@"pb1", @"pb2", @"pb3", @"pb4", @"pb5", @"pb6", @"pb7", @"pb8", @"pb9", @"pb10",nil]];
}

//炫彩边框视图
- (void)setupDazzleBorder
{
    [self setupBorderEffect:[NSArray arrayWithObjects:@"xborder_aixin_a.jpg", @"xborder_guangyun_a.jpg", @"xborder_qisehua_a.jpg", @"xborder_wujiaoxing_a.jpg", @"xborder_xueye_a.jpg", @"xborder_yinhe_a.jpg",nil]];
}

我们通过给borderStyleBar不同的items来实现显示不同的样式item。

6.实现bar 的委托

#pragma mark - FWEffectBarDelegate
- (void)effectBar:(FWEffectBar *)bar didSelectItemAtIndex:(NSInteger)index
{
    if (bar == self.styleBar)
    {
        switch (index) {
            case 0:
                [self setupPosterBorder];
                break;

            case 1:
                [self setupSimpleBorderView];
                break;

            case 2:
                [self setupDazzleBorder];
                break;
        }
    }
    else
    {
        FWEffectBarItem *item = (FWEffectBarItem *)[bar.items objectAtIndex:index];
        item.ShowBorder = YES;
    }

}

当我们点击styleBar时,切换边框样式类型,当我们点击borderStyleBar时,应用具体的边框样式,且被选中的样式出现边框。

隐藏状态栏

//隐藏状态栏
- (BOOL)prefersStatusBarHidden
{
    return YES;
}

OVER.THANKS!

时间: 2024-10-12 17:53:04

美图秀秀美化图片之【边框】界面设计【重大更新】的相关文章

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

本文是特效界面设计,在美图秀秀的特效模块主要是实现图片添加滤镜效果,界面挺炫的. 界面包含黑边和虚化按钮,4种类型的滤镜,每种类型又包含许多具体滤镜效果,当我们点击时候开始处理图片 1.加载图片 self.imageView = [[UIImageView alloc] initWithImage:self.image]; self.imageView.frame = CGRectMake(0, 0, WIDTH, HEIGHT - 130); self.imageView.contentMod

美图秀秀美化图片之【编辑】模块界面设计

效果如图 目前旋转和锐化的界面还没做. 编辑模块包含图片裁剪.旋转.锐化. 一.点击美化图片首页[编辑],进入具体操作界面 FWFunctionViewController *vc = [[FWFunctionViewController alloc] initWithImage:self.image type:FWBeautyProcessTypeEdit]; [self presentViewController:vc animated:YES completion:^{ }]; [vc d

美图秀秀美化版

美图秀秀可以轻松美化数码照片,独有一键P图.神奇美容.边框场景.超炫闪图等强 大功能,还有每日更新的海量素材.国内很多人在使用这款免费图片处理软件,1分钟 就能上手,据说比PS要简单100倍(^.^)!去除广告,禁止第三方分享等,亲测除了刚运 行软件时右下角有个推广美图秀秀安卓版的小弹窗外,别的都不错,可以放心使用. 百度下载:http://pan.baidu.com/s/1pJ9H851

美图秀秀 web开发图片编辑器

美图秀秀web开发平台 http://open.web.meitu.com/wiki/ 1.环境配置 1.1.设置crossdomain.xml 下载crossdomain.xml文件,把解压出来的crossdomain.xml文件放在您保存图片或图片来源的服务器根目录下,比如: http://example.com.cn,那么crossdomain.xml的路径为:http://example.com.cn/crossdomain.xml.需要注意的是crossdomain.xml必须部署于站

美图秀秀api实现图片的裁剪及美化

美图秀秀不仅有PC版.手机版等客户端的软件,还有Web开方接口,可以在web页面上调用美图秀秀的api接口,实现图片的编辑.像淘宝.网易.qq空间.新浪微博等大厂都使用过该接口. 官网地址:http://open.web.meitu.com,使用方法也很简单,直接参照官网文档: 第一步:环境配置 下载 crossdomain.xml 文件,然后把 crossdomain.xml 文件放到保存图片的服务器上根目录下,例如您的保存图片的服务器地址为: http://www.example.com,那

美图秀秀首页界面设计(一)

本文设计了美图秀秀官方版的界面,从中可以学到自定义View,自动布局,启动界面设置.代码有点凌乱,我在一步步改善. 项目中的图片资源均来自官方版的下载包中的图片(原始图片),这样我们可以通过模仿成功案例来学习iOS开发. 项目结构及介绍 category组中存放对类的扩展 Utiles中存放一些常用的代码 controller中存放viewController文件 network存放访问网络的工具类 3rd lib存放项目中使用到的第三方类库 views存放自定义视图 models存放数据类 i

iOS开发系列--打造自己的“美图秀秀”

http://www.cnblogs.com/kenshincui/p/3959951.html#overview --绘图与滤镜全面解析 概述 在iOS中可以很容易的开发出绚丽的界面效果,一方面得益于成功系统的设计,另一方面得益于它强大的开发框架.今天我们将围绕iOS中两大图形.图像绘图框架进行介绍:Quartz 2D绘制2D图形和Core Image中强大的滤镜功能. Quartz 2D 基本图形绘制 视图刷新 其他图形上下文 Core Image Quartz 2D 在iOS中常用的绘图框

强大的Core Image(教你做自己的美图秀秀))

iOS5新特性:强大的Core Image(教你做自己的美图秀秀)) iOS5给我们带来了很多很好很强大的功能和API.Core Image就是其中之一,它使我们很容易就能处理图片的各种效果,色彩啊,曝光啊,饱和度啊,变形啊神马的.可惜苹果一直没能完善官方文档,也没有推出示例代码,所以国内很多同学可能还没有开始使用.但国外的大神们已经证明这是个相当强悍的框架,不仅功能强大,而且可以直接使用GPU,效率奇高,甚至可以实时的对视频进行渲染.下面让我们来看看,如何具体使用它:首先你需要导入 CoreI

Qt Quick 图像处理实例之美图秀秀(附源码下载)

在<Qt Quick 之 QML 与 C++ 混合编程详解>一文中我们讲解了 QML 与 C++ 混合编程的方方面面的内容,这次我们通过一个图像处理应用,再来看一下 QML 与 C++ 混合编程的威力,同时也为诸君揭开美图秀秀.魔拍之类的相片美化应用的底层原理. 项目的创建过程请参考<Qt Quick 之 Hello World 图文详解>,项目名称为 imageProcessor ,创建完成后需要添加两个文件: imageProcessor.h 和 imageProcessor.