psd 替换智能图层的的实现-个性化定制网站

psd 替换智能图层的的实现-个性化定制网站老板让做一个在线服装定制的网站,可合成服装的效果图遇到了难处,如果是单纯的图片叠加也比较简单,前端合成的话使用canvas两张图片合成在一起就可以了canvas合成衣服的效果图准备两张图片,一张是素材,一张是背景如下图他们加一块就得到了这样一张图满心欢喜找老板,实现了!!!,终于可以早早下班了,然并卵,老板说:素材为啥没有弯曲,做出来的图片不真实,方案被打回来之后再次研究方案1.弯曲写死,如果单纯定制杯子是没有问题的,因为他只有一种效果,如果定制的是衣服,风景画等等其他的商品效.

大家好,又见面了,我是你们的朋友全栈君。

老板让做一个在线服装定制的网站,可合成服装的效果图遇到了难处,如果是单纯的图片叠加也比较简单,前端合成的话使用canvas 两张图片合成在一起就可以了

canvas 合成衣服的效果图准备两张图片,一张是素材,一张是背景如下图

psd 替换智能图层的的实现-个性化定制网站psd 替换智能图层的的实现-个性化定制网站

 他们加一块就得到了这样一张图

psd 替换智能图层的的实现-个性化定制网站

满心欢喜找老板,实现了!!!,终于可以早早下班了,然并卵,老板说:素材为啥没有弯曲,做出来的图片不真实,方案被打回来之后再次研究方案

1.弯曲写死,如果单纯定制杯子是没有问题的,因为他只有一种效果,如果定制的是衣服,风景画等等其他的商品效果图场景,那么单纯的弯曲是无法适配的,现实的场景至少要实现透视,弯曲,纹理等等效果,才能做的真实,所以这种方案也是不行。

2.3d建模,然后再模型上应用贴图纹理,这种确实是能实现,因为是真实的3d渲染,前端有许多优秀的 3d展示库 如 three.js等,展示模型确实也比较简单,可是难点在于建模,我们只有平面设计师,每做一个产品都要建模渲染未免成本也太高了,平面设计师现学也来不及,单独又要招聘人才,这种方案备选

3.直接解析PSD 文件中的智能图层,设计师制作好PSD模板后,解析PSD文件,替换智能图层,最终实现效果,这个方案是最符合现有的人员构成的了,ps开发和设计师都会操作,招聘设计师也比招聘建模师更容易,要是能预期实现那么就太棒了。

确定了最终方案后就开始搜索有哪些解析智能图层的库

找到了一个官方的库和第三方库

Adobe Photoshop File Formats Specification

https://github.com/meltingice/psd.js

var PSD = require('psd');
var psd = PSD.fromFile("path/to/file.psd");
psd.parse();

console.log(psd.tree().export());
console.log(psd.tree().childrenAtPath('A/B/C')[0].export());

// You can also use promises syntax for opening and parsing
PSD.open("path/to/file.psd").then(function (psd) {
  return psd.image.saveAsPng('./output.png');
}).then(function () {
  console.log("Finished!");
});

 psd.js 只能做解析无法做还原,我们的需求是不但要解析更重要是能还原psd,还原psd库有哪些难点呢,首先要清楚知道psd文件的组成部分,还要知道ps中各个模块的数学知识,手动解析然后还原成psd是不可能的,要是实现了那还不得做成中国版的ps了

 搜索了几天后来发现了这个网站 foxpsd-在线psd文件处理工具,替换图层智能对象api接口 FOXPSDpsd 替换智能图层的的实现-个性化定制网站https://foxpsd.com/

哇塞终于有一家专门的公司提供了这种替换智能图层的服务,

psd 替换智能图层的的实现-个性化定制网站看官网的描述正符合我们的要求,发现虽然是收费的,但是能满足就好

网站描述中可以生成3种规格的图片,最大500px,最大1600像素,最大10000像素,分别对应着实时预览,商品主图,生产图

加了管理员微信,申请账号之后开始对接试一试

psd 替换智能图层的的实现-个性化定制网站

 对接的方式,应该获取专属的token,然后请求相关的接口,来实现图片的合成服务

整体的api 比较简单

主要分为 PSD的模板维护,图片生成维护

首先试一下PSD的模板维护吧

先使用 apizza – 极客专属的api管理工具 做一下接口测试

psd 替换智能图层的的实现-个性化定制网站

 返回一个专属的 psd sku,传了几个试了试

psd 替换智能图层的的实现-个性化定制网站

下面到了关键的部分,试一下生成图片的部分

psd 替换智能图层的的实现-个性化定制网站

 也能很快的生成,确实不错,完全满足了我们的开发

最终生成的照片有了 明显的弯曲效果图,太棒了!!

psd 替换智能图层的的实现-个性化定制网站

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/145939.html原文链接:https://javaforall.net

(0)
上一篇 2022年5月16日 上午9:40
下一篇 2022年5月16日 上午9:40


相关推荐

  • android studio接口调用_android studio jdk版本

    android studio接口调用_android studio jdk版本Android做jni的时候需要根据nativejava类生成对应的.h头文件,然后根据.h头文件写cpp文件。在Androidstudio中可以添加自定义工具,将javah指令添加进去首先我们看下javah的指令格式由此指令我们知道怎么使用javah指令例如有java文件D:\project\Test\app\src\main\java\com\example\test.java编译生成的class文件位于D:\project\Test\app\build\interm.

    2026年3月7日
    7
  • git clone 显著提速,解决Github代码拉取速度缓慢问题[通俗易懂]

    git clone 显著提速,解决Github代码拉取速度缓慢问题[通俗易懂]对于国内用户来说,搬砖遇到clone Github速度十分缓慢的问题实在是一个令人头疼崩溃的问题。下面就介绍一个简单的方法很好的解决这个问题。方法:   1、注册码云账号   传送门   2、注册完成后点击页面右上角的“+” 号,选择新建项目创建新项目     3、在新页面中选择“导入已有项目”导入已有项目    4、复制需要导…

    2022年7月21日
    16
  • MySQL中count(*)、count(主键id)、count(字段)和count(1)那种效率更高?「建议收藏」

    MySQL中count(*)、count(主键id)、count(字段)和count(1)那种效率更高?

    2022年2月17日
    46
  • 装系统后重启黑屏/卡LOGO,无法进入桌面界面

    装系统后重启黑屏/卡LOGO,无法进入桌面界面

    2026年3月15日
    2
  • 事务隔离级别与锁的对应关系_X与XS区别

    事务隔离级别与锁的对应关系_X与XS区别隔离级别org.springframework.transaction.annotation.Isolationpublic enum Isolation { DEFAULT(-1), READ_UNCOMMITTED(1), READ_COMMITTED(2), REPEATABLE_READ(4), SERIALIZABLE(8);}DEFAULT :这是默认值,表示使用底层数据库的默认隔离级别。对大部分数据库而言,通常这值就是: READ_CO..

    2022年8月9日
    5
  • 架构学习——业务架构图

    架构学习——业务架构图一、什么是业务架构图?业务架构图,顾名思义就是对于产品的业务架构进行梳理和整合,它表达的是业务系统之间的关系,帮助开发人员梳理业务结构。二、为什么要画业务架构图?业务架构图帮我们更好的从宏观的角度整体性的审查我们的产品帮助用户和需求方从业务角度出发更好的了解我们的产品功能有了业务架构图我们可以更好的对目前已有的功能和以后计划开发的功能进行抽象、设计、开发三、如何画业务架构图?站在巨人的肩膀上我们要学会站在巨人的肩膀上学习,先看看一些比较牛的公司他们是怎么画的业务架构图,借鉴他人的画法和思

    2022年10月7日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号