1.2.0 • Published 1 year ago

seam-render v1.2.0

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

SeamRender 骨位生成工具

描述

给定一个 path 路径和 n 个图片,以及对应骨位参数和 n 层子参数,生成图片根据 path 路径变形后的,强光混合模式图像。 打包出 commonjs 库.cjs 和 es 库 mjs,位于 dist 文件夹,以供调用。

技术栈

  • webgl
  • glsl
  • paper.js
  • typescript
  • rollup

定义

  • X 方向:path 路径的垂线方向,图片的纵向
  • Y 方向:path 路径的路径方向,图片的横向

示例

// 创建实例,此时会创建gl实例和着色器程序
// gl上下文在不同的浏览器和硬件环境中存在上限一般为16个
// 此处使用需要注意实例数量,一般情况下使用单例即可
const sr = new SeamRender();
console.log(sr);
// 第一步 设置骨位参数
sr.setOptions(
  {
    flipX: 1,
    flipY: 1,
    scaleX: 0.5,
    scaleY: 1,
    offsetX: 0,
    offsetY: 0,
    headExtensionLine: 500,
    tailExtensionLine: 500,
  },
  [
    {
      img: document.getElementById('img3'),
      imgW: img.width,
      imgH: img.height,
      flipX: 1,
      flipY: 1,
      scaleX: 1,
      scaleY: 1,
      offsetX: 0,
      offsetY: 0,
      repeatMode: 2,
      SeamSpacing: 0,
      visible: false,
    },
    {
      img: document.getElementById('img'),
      imgW: img.width,
      imgH: img.height,
      flipX: 1,
      flipY: 1,
      scaleX: 0.5,
      scaleY: 1,
      offsetX: 75,
      offsetY: 0,
      repeatMode: 1,
      SeamSpacing: 0,
      visible: true,
    },
  ],
);
const svgpath =
  'M10795.63,-13111.763l-4.784,-2.782l-4.439,-2.891l-3.968,-2.873l-3.431,-2.784l-3.119,-2.868l-2.708,-2.834l-2.503,-3.005l-2.081,-2.898l-1.844,-3.028l-1.445,-2.863l-1.171,-2.879l-0.958,-3.049l-0.872,-3.749l-0.727,-4.455l-0.723,-6.523l-0.44,-6.07l-0.15,-5.17l0.121,-4.163l0.34,-3.533l0.559,-3.283l0.793,-3.189l1.046,-3.113l1.165,-2.698l1.384,-2.562l1.611,-2.393l1.736,-2.076l2.286,-2.205l5.243,-4.235l2.968,-2.483l2.101,-2.063l1.667,-1.993l1.464,-2.151l1.229,-2.286l0.961,-2.393l0.614,-2.254l0.434,-2.848l0.225,-4.18l0.017,-6.322l-0.505,-15.152l-0.309,-12.808l-0.163,-15.069l-0.193,-15.073l-0.414,-15.074l-0.514,-15.057l-0.459,-15.554';
// 第二步 根据路径 创建网格数据
sr.buildMesh(svgpath);
// 绘制
sr.draw();
const res = sr.gl.canvas.toDataURL();
document.getElementById('imgres').src = res;

测试

yarn add -g anywhere
yarn dev
anywhere
// 浏览器中选择test文件夹

构建

yarn build
1.2.0

1 year ago

1.1.9

1 year ago

1.2.14

2 years ago