文章目录

  • 前言
  • 一、vue导入psd.js
  • 二、解析psd文件
  • 三 、psd方法
    • 1.psd背景图转为base64格式
    • 2.获取节点的所有直接子节点
    • 3.文字图层获取字间距
    • 4.子图层背景图
    • 5.导出数据

前言

记录一下psd.js解析PSD文件


一、vue导入psd.js

npm install --save psd.js

详情参考github,psd.js: https://github.com/meltingice/psd.js

二、解析psd文件

使用el-upload上传psd文件

<template><div><el-upload:auto-upload="false":on-change="parsePSD"class="upload-demo"dragaction=""><i class="el-icon-upload" /><div class="el-upload__text">点击添加或拖放PSD文件</div></el-upload></div>
</template>
<script>
// 引入psd.js
import PSD from 'psd.js'
export default {methods: {parsePSD(file) {// psd文件var url = URL.createObjectURL(file.raw)// 解析psd文件PSD.fromURL(url).then(psd => {console.log(psd)// psd背景图片const l_background = psd.image.toBase64()// 获取图层数据const childrens = psd.tree().children()childrens.forEach(item => {if (item._children.length > 0) {// 子节点图层const _child = item._children_child.forEach(i => {const typeTool = i.get('typeTool')if (typeof typeTool !== 'undefined') {// 获取字间距if (typeof (typeTool.styles().Tracking) !== 'undefined') {console.log(typeTool.styles().Tracking[0])}}// 获取子图层图片const child_image = i.layer.image.toBase64()})}})// 导出图层数据var exportData = psd.tree().export()const _export_childrens = exportData.childrenfor (var i = 0; i < _export_childrens.length; i++) {// 顶级图层/文件夹const name = _export_childrens[i].namevar i_child = _export_childrens[i].childrenif (typeof (i_child) !== 'undefined') {for (var j = 0; j < i_child.length; j++) {// 子图层数据console.log(i_child[j])}}}})}}
}
</script>

三 、psd方法

1.psd背景图转为base64格式

PSD.fromURL(url).then(psd => {console.log(psd.image.toBase64())
}

2.获取节点的所有直接子节点

PSD.fromURL(url).then(psd => {console.log(psd.tree().children())
}

_children中为所有子节点图层

3.文字图层获取字间距

PSD.fromURL(url).then(psd => {const parent = psd.tree().children()const typeTool = parent._chilren[0].get('typeTool')console.log(typeTool.styles().Tracking[0])
}

4.子图层背景图

PSD.fromURL(url).then(psd => {const parent = psd.tree().children()const children = parent._chilren[0]console.log(children.layer.image.toBase64())
}

5.导出数据

PSD.fromURL(url).then(psd => {console.log(psd.tree().export());
}


psd.js 解析PSD文件相关推荐

  1. 图片转svg标注_使用psd.js将PSD转成SVG -- 基础篇(文字图片)

    转载至微信公众号:方凳雅集 背景 随着发展,活动会场页面的题图运营需要线上模板化,而自研的导购素材制作平台接入了海棠-创意中心,通过平台能力,将素材模板化,并且通过配置化的方式生成多种场景化,个性化的 ...

  2. 通过Node.js解析stl文件

    通过Node.js解析stl文件 在此之前请确认已安装Node.js,已配置环境变量.如未安装与配置,请查看Node.js安装及环境配置(Windows) 一.下载Node项目文件 Node项目文件下 ...

  3. js解析PSD文件,Java处理psd文件智能图层

    现在市面上很多的webapp都提供模板功能,所谓模板就是一系列元素的集合,模板的制作一般都需要设计师先在Photoshop等软件中制作好设计好,然后再一定的方式来还原设计稿,要么需要编码要么需要在某些 ...

  4. JS解析XML文件和XML字符串

    http://www.cnblogs.com/chjw8016/archive/2011/07/12/2104269.html JS解析XML字符串 <script type='text/jav ...

  5. html中加载shp文件,运用shapefile.js解析Shp文件

    shapefile.open("http://localhost:8181/shp/zd.shp") .then(source => source.read() .then( ...

  6. html 显示shp,运用shapefile.js解析Shp文件

    shapefile.open("http://localhost:8181/shp/zd.shp") .then(source => source.read() .then( ...

  7. php解析shapefile,运用shapefile.js解析Shp文件

    shapefile.open("http://localhost:8181/shp/zd.shp") .then(source => source.read() .then( ...

  8. 使用js解析歌词文件(lrc格式歌词)

    首发地址:https://www.hsmus.top/202101235.html 像音乐播放器一样,可以把歌词文件解析为方便使用的对象 效果如下: 代码如下: 用法: /***** 用法 ***** ...

  9. js 解析html文件,用Javascript解析html

    说到用Javascript解析html,大家肯定会想到dom或者正则表达式,但这两个都不是我今天我要说的.dom很不错,不过效率不高,而且必须将要解析的html插入到当前页面或者建立一个iframe才 ...

  10. js解析excel文件,读取单元格中的值

    首先需要引入js包,https://github.com/SheetJS/sheetjs这个是地址 我这里就具体说一下读取单元格值的方法. 方法参考js读取本地Excel内容 这个博主的,但是想要获取 ...

最新文章

  1. ThreadLocal是什么?
  2. 参数MEMORY_MAX_TARGET 和MEMORY_TARGET 的修改
  3. logon dialog 的弹出逻辑debug出来了,有很多有用的代码片段
  4. 11张信用卡20多万全部逾期还不上,每天电话追债,怎么办?
  5. [JS][前端]修改文件input为button样式
  6. 小谈c#数据库存取图片的方式
  7. MVC阻止用户注入JavaScript代码或者Html标记
  8. 21天Jmeter打卡day9HTTP不同方法post提交表单和json
  9. centos7安装源疯了_Jenkins 在 Centos7 上安装(使用国内源)
  10. 作为IT码农,我是如何给小孩取名字的(推荐收藏,总有需要的一天)
  11. ArcGIS中高风险地区热力图制作
  12. 费氏数列 中第n项数值的计算并打印
  13. php 芝麻认证think_谈谈php对接芝麻信用踩的坑
  14. 累了、倦了、撑不下去了,静下心来看一看
  15. node启动之后内存占用过高解决方案
  16. 原生Hadoop环境下安装Hue
  17. MySQL中事务的提交和回滚机制
  18. 江西省大学计算机专业,江西最好考的2所大学!计算机、财务专业省排名第三,力压一本!...
  19. mysql 矩阵乘法_矩阵乘法高级操作
  20. php 使用阿里云存储

热门文章

  1. c# AD域 权限管理
  2. 印象笔记如何分享链接_印象笔记共享问题解决经过
  3. 02-即时通讯-XMPP 简单介绍
  4. SAP GR/IR在系统AP中收货和校验对会计业务的影响(详细)
  5. DEA各种模型原理及stata代码实现
  6. mysql sql注入工具下载_超级SQL注入工具【SSQLInjection】
  7. win10命令提示符cd 不到指定路径的解决
  8. 高德地图按行政区描边
  9. Gradle下载官方地址
  10. 自媒体人必备的4款编辑排版工具,全部免费