[TOC]
# PSD自动切图
psd2vuep提供psd文件直接转换为vuep组件和resource的功能
## 准备工作
1. 整理psd文件
每一个单page对应一个psd文件,如`p1.psd`,`p2.psd`....
2. 整理psd文件中的分层
如果有需求可以对分层文件进行命名,如action_btn,默认会对图层进行自动命名,格式为layer_(递增数字)
3. psd文件中可以存在分组,目前最多只能有一层。
4. 不需要的图层可以隐藏,隐藏的图层会被过滤。
5. 图层可以通过queryString的方式设置特殊处理,如设置为背景、使用bottom对齐等等,全部可用的特殊处理方法参考图层magic
6. 图层不能有滤镜效果,html无法尺寸滤镜效果。如果背景超出画布尺寸,可以进行适当裁剪。
7. 自动切图可以处理图片图层,文字图层,未栅格化的图层,图层分组。其他带有特效或者遮罩、蒙版、样式的图层请预先合并为普通图层。
例子:
![](https://box.kancloud.cn/631fbf2e28233ff18d15fa4e50e2adf9_532x572.png)
导出结果:
```html
<Page name="p1start" :enter="enterEffect" :leave="leaveEffect" @swipeUp="nextPage('p2rule')" bg="bg">
<Grouper layer="bottoms">
<Imager layer="shadow"></Imager>
<Imager layer="layer_9"></Imager>
<Imager layer="startbtn"></Imager>
</Grouper>
<Grouper layer="logos">
<Imager layer="layer_8"></Imager>
<Imager layer="layer_7"></Imager>
<Imager layer="layer_6"></Imager>
</Grouper>
<Grouper layer="loves">
<Imager layer="wahts"></Imager>
<Imager layer="booom"></Imager>
<Imager layer="players"></Imager>
<Imager layer="point"></Imager>
<Imager layer="layer_5"></Imager>
<Imager layer="layer_4"></Imager>
<Imager layer="layer_3"></Imager>
<Imager layer="layer_2"></Imager>
<Imager layer="layer_1"></Imager>
<Imager layer="layer"></Imager>
<Imager layer="usera"></Imager>
<Imager layer="iloveyou"></Imager>
</Grouper>
<Grouper layer="tops">
<Imager layer="rulebtn"></Imager>
<Imager layer="fly"></Imager>
<Imager layer="logo"></Imager>
</Grouper>
</Page>
```
## 图层Magic
可以给图层添加magic。以支持图层导出的定制化,magic的添加格式为
`图层名称?magic=值`,如`btn?mode=bottom`
**支持的magic 列表**
- `center` 提供对齐功能,可选值[x,y,xy]. 如`btn?center=x`
- `mode` 提供布局的一些模式,可选值[bottom],如`btn?mode=bottom`
- `bg` 提供背景设置功能,一个psd只能设置一个背景,默认以当前图层作为背景,如果背景是纯色,可以设置背景色值,如`bg?bg`,或者 `bg?bg=#ff0000`
> 注:背景可以串联,比如按钮居下居中对齐,可以设置为`btn?mode=bottom¢er=x`
## 开始自动切图
```bash
Usage: psd2vuep [options]
Options:
-h, --help output usage information
-V, --version output the version number
-s, --src <path> 添加psd所在目录,默认为当前目录下的psd文件夹
-o, --out <path> 输出文件夹路径,默认为当前目录下的dist文件夹
-p, --prefix <value> 图层命名前缀,在修改页面时很有用处
-t, --template <value> 选择使用的模板名称
-u, --usename <value> 是否使用图层名称做为图片名
-b, --base64 [path] 将小于15kb的文件使用base64进行编码
```
将psd文件下的pages切图到dist目录下:
`psd2vuep -s ./psd -o ./dist`
## 上线前的优化 ##
1.对于小图片(目前为<= 15kb),提供自动合成base64的功能,在项目目录下执行:`psd2vuep -b`可以在assets目录下生成`vuep-base64-config.js`文件,在页面的`app.js`之前引入即可。
2.对于特别大的png背景图片可以考虑转换为jpeg格式进行二次压缩。
- 前端篇
- 常用知识点
- 表单处理
- 前后端分离
- 提供模板渲染工具
- 页面优化
- css3动画部分
- 前端工程与模块化框架
- 服务器XML标签用法
- 微信JSSDK
- 小技巧
- 纯CSS实现自适应正方形
- 通用媒体查询
- css 黑科技
- H5性能优化方案
- 10个最常见的 HTML5
- 常见坑
- 资源收集
- 前端组件化开发实践
- 应用秒开计划
- AJAX API部分
- 静态资源处理优化
- 后端篇
- 微信对接与管理
- 微信消息处理
- API插件开发
- Plugin开发
- 后端插件开发
- 组件开发
- XML标签开发
- RESTFUL设计
- Admin GUI
- 设计篇
- 设计规范
- 微信开发库v.js
- 使用方法
- 微信JSSDK集成
- 调试面板使用
- 插件-http功能
- 插件-layer弹出层
- 插件-music 音乐播放器
- 插件-store 本地存储
- 插件 emitter 事件管理器
- 插件-shake 摇动功能
- 插件-lazyload 延迟加载
- 插件-t 模板渲染
- 插件-ani 动画功能
- 插件-is 类型侦测器
- 插件-ease 缓动函数库
- 插件-os 设备检测
- 插件 $ 类Jquery插件
- 插件-md5 散列计算
- 插件-svg动画loading
- 后台页面成功GUI
- 列表渲染List
- 表单生成Config
- 树状列表Tree
- 排序操作Sort
- Js 风格指南
- Vuep
- 内置动画库
- 组件库
- 内置插件库
- PSD自动切图