@bylqwjc/media-editor-server 1.0.26 → 1.0.28
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/core/dist/browser.cjs +1 -1
- package/core/dist/browser.d.ts +4 -21
- package/core/dist/browser.js +1 -1
- package/core/dist/chunk-MGKYVYOH.js +1 -0
- package/core/dist/chunk-USY6UDGL.js +1 -0
- package/core/dist/chunk-XCBM7P7N.js +1 -0
- package/core/dist/engine.cjs +1 -1
- package/core/dist/engine.d.ts +344 -648
- package/core/dist/engine.js +1 -1
- package/core/dist/filerobot.cjs +1 -1
- package/core/dist/filerobot.d.ts +1 -1
- package/core/dist/filerobot.js +1 -1
- package/core/dist/index.cjs +1 -1
- package/core/dist/index.d.ts +27 -13
- package/core/dist/index.js +1 -1
- package/core/dist/{platform-presets-Ca2LbKQ3.d.ts → platform-presets-B-o4C6uY.d.ts} +1 -1
- package/core/dist/state-B85vkf7_.d.ts +1027 -0
- package/core/package.json +1 -1
- package/core/zod/v3/types.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/core/dist/chunk-7D4QE3R2.js +0 -1
- package/core/dist/chunk-7PSQLYXL.js +0 -1
- package/core/dist/chunk-FAFKY4LX.js +0 -1
- package/core/dist/chunk-VDEZTXEA.js +0 -1
- package/core/dist/state-D2oM5s1a.d.ts +0 -2098
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var t=Math.PI/180;function n(n,r,a){const i=e(a);if(0===i||180===i)return{w:n,h:r};if(90===i||270===i)return{w:r,h:n};const o=i*t;return{w:Math.round(Math.abs(n*Math.cos(o))+Math.abs(r*Math.sin(o))),h:Math.round(Math.abs(n*Math.sin(o))+Math.abs(r*Math.cos(o)))}}function e(t){return(t%360+360)%360}function r(t){const n=Math.round(t);return n-n%2}function a(t,n,e=40){const r=Math.min(Math.max(e,t.width),n.w),a=Math.min(Math.max(e,t.height),n.h),i=Math.min(Math.max(0,t.x),n.w-r),o=Math.min(Math.max(0,t.y),n.h-a);return{x:Math.round(i),y:Math.round(o),width:Math.round(r),height:Math.round(a)}}function i(t,n){let e=t.w,r=e/n;return r>t.h&&(r=t.h,e=r*n),{x:Math.round((t.w-e)/2),y:Math.round((t.h-r)/2),width:Math.round(e),height:Math.round(r)}}function o(t,n,e){const r={x:0,y:0,width:t.width,height:t.height},a={x:0,y:0,width:n.w,height:n.h};return"cover"===e?{src:i({w:t.width,h:t.height},n.w/n.h),dst:a}:"contain"===e?{src:r,dst:i({w:n.w,h:n.h},t.width/t.height)}:{src:r,dst:a}}function s(t,e){if(e.scale)return{w:r(e.scale.width),h:r(e.scale.height)};if(e.crop)return{w:r(e.crop.width),h:r(e.crop.height)};const a=n(t.w,t.h,e.rotation);return{w:r(a.w),h:r(a.h)}}var h=[{id:"bw",label:"黑白",vf:"hue=s=0",css:"grayscale(1)"},{id:"sepia",label:"复古",vf:"colorchannelmixer=.393:.769:.189:0:.349:.686:.168:0:.272:.534:.131",css:"sepia(0.85)"},{id:"warm",label:"暖阳",vf:"colorbalance=rs=.15:gs=.04:bs=-.15",css:"sepia(0.25) saturate(1.25) brightness(1.03)"},{id:"cool",label:"冷调",vf:"colorbalance=rs=-.14:bs=.16",css:"hue-rotate(12deg) saturate(0.95) brightness(1.02)"},{id:"vivid",label:"鲜艳",vf:"eq=saturation=1.45:contrast=1.08",css:"saturate(1.45) contrast(1.08)"}];function c(t){return t?h.find(n=>n.id===t):void 0}function u(t,n){const e=c(n)?.css??"",r=t.temperature??0,a=t.tint??0,i=t.vibrance??0,o=t.gamma??0,s=t.sharpen??0,h=t.clarity??0;return[`brightness(${1+t.brightness})`,`contrast(${1+t.contrast})`,`saturate(${1+t.saturation})`,e,i?`saturate(${(1+.65*i).toFixed(3)})`:"",r>0?`sepia(${Math.min(.36,.28*r).toFixed(3)})`:"",r?`hue-rotate(${(14*-r).toFixed(2)}deg)`:"",a?`hue-rotate(${(10*a).toFixed(2)}deg)`:"",o?`brightness(${(1+.08*o).toFixed(3)})`:"",h||s?`contrast(${(1+.16*h+.1*s).toFixed(3)})`:""].filter(Boolean).join(" ")}var l=Math.PI/180,d='-apple-system, "PingFang SC", "Microsoft YaHei", sans-serif';function x(t){return"adjust"!==t.type}function f(t){return Boolean(t.hidden)}function m(t){return Boolean(t.locked)}function M(t,n){const e=Number(t.timelineTrack);return Number.isFinite(e)?Math.max(0,Math.round(e)):n}function w(t){return t.map((t,n)=>({overlay:t,index:n,track:M(t,n)})).sort((t,n)=>n.track-t.track||t.index-n.index).map(t=>t.overlay)}function p(t,n,e){t.strokeStyle=n,t.lineWidth=e,t.lineCap="round",t.lineJoin="round"}function y(t){if(!Number.isFinite(t))return 0;let n=t%360;return n>180&&(n-=360),n<-180&&(n+=360),Math.abs(n)<.001?0:n}function g(t){return y(t.rotation??0)}function b(t){switch(t.type){case"pen":{let n=1/0,e=1/0,r=-1/0,a=-1/0;for(let i=0;i<t.points.length;i+=2)n=Math.min(n,t.points[i]),r=Math.max(r,t.points[i]),e=Math.min(e,t.points[i+1]),a=Math.max(a,t.points[i+1]);return{x:n,y:e,w:r-n,h:a-e}}case"line":case"arrow":return{x:Math.min(t.x1,t.x2),y:Math.min(t.y1,t.y2),w:Math.abs(t.x2-t.x1),h:Math.abs(t.y2-t.y1)};case"rect":case"ellipse":case"sticker":case"adjust":return{x:t.x,y:t.y,w:t.w,h:t.h};case"text":return $(t)}}function k(t){return String(t.text||"").split(/\r?\n/)}function v(t){return t.fontSize*(t.lineHeight??1.15)}function S(t){return t.paddingX??0}function F(t){return t.paddingY??0}function P(t){const n=Math.max(.6*t.fontSize,...k(t).map(n=>Math.max(1,n.length)*t.fontSize*.6));return Math.max(1,t.width??n+2*S(t))}function $(t){const n=k(t);return{x:t.x,y:t.y,w:P(t),h:Math.max(t.fontSize,n.length*v(t))+2*F(t)}}function T(t){const n=b(t);return{x:n.x+n.w/2,y:n.y+n.h/2}}function z(t,n,e,r,a){return{x:e+(t-e)*a,y:r+(n-r)*a}}function j(t){const n=t,e=Number.isFinite(n.startAt)?Math.max(0,Number(n.startAt)):null,r=Number.isFinite(n.endAt)?Math.max(e??0,Number(n.endAt)):null;if(null==e&&null==r)return null;const a=e??0;return{start:a,end:Math.max(a,r??a)}}function I(t,n){const e=j(t);return!e||Number.isFinite(n)&&n>=e.start&&n<=e.end}function N(t,n){if(!t?.length)return[];const e=t.filter(t=>!f(t));return Number.isFinite(n)?e.filter(t=>I(t,n)):e}function W(t,n,e){if(f(n))return;if(!x(n))return;const r=g(n);if(r){const a=T(n);return t.save(),t.translate(a.x,a.y),t.rotate(r*l),t.translate(-a.x,-a.y),C(t,n,e),void t.restore()}C(t,n,e)}function C(t,n,e){switch(n.type){case"pen":p(t,n.color,n.width),t.beginPath(),t.moveTo(n.points[0],n.points[1]);for(let e=2;e<n.points.length;e+=2)t.lineTo(n.points[e],n.points[e+1]);t.stroke();break;case"line":case"arrow":p(t,n.color,n.width),t.beginPath(),t.moveTo(n.x1,n.y1),t.lineTo(n.x2,n.y2),t.stroke(),"arrow"===n.type&&function(t,n,e,r,a,i){const o=Math.atan2(a-e,r-n),s=Math.max(12,3.5*i);t.beginPath(),t.moveTo(r,a),t.lineTo(r-s*Math.cos(o-Math.PI/7),a-s*Math.sin(o-Math.PI/7)),t.moveTo(r,a),t.lineTo(r-s*Math.cos(o+Math.PI/7),a-s*Math.sin(o+Math.PI/7)),t.stroke()}(t,n.x1,n.y1,n.x2,n.y2,n.width);break;case"rect":p(t,n.color,n.width),t.strokeRect(n.x,n.y,n.w,n.h);break;case"ellipse":p(t,n.color,n.width),t.beginPath(),t.ellipse(n.x+n.w/2,n.y+n.h/2,Math.abs(n.w/2),Math.abs(n.h/2),0,0,2*Math.PI),t.stroke();break;case"text":{const e=$(n),r=k(n),a=Number.isFinite(n.opacity)?Math.min(1,Math.max(0,(n.opacity??100)/100)):1;t.save(),t.globalAlpha*=a,n.backgroundColor&&"transparent"!==n.backgroundColor&&(t.fillStyle=n.backgroundColor,t.fillRect(n.x,n.y,e.w,e.h)),t.fillStyle=n.color,t.font=function(t){const n=t.fontWeight??"700",e=t.italic?"italic ":"",r=t.fontFamily?`"${t.fontFamily}", ${d}`:d;return`${e}${n} ${t.fontSize}px ${r}`}(n),t.textBaseline="top",t.strokeStyle=n.strokeColor??"rgba(0,0,0,0.45)",t.lineWidth=n.borderWidth??Math.max(2,n.fontSize/16),t.lineJoin="round",r.forEach((r,a)=>{const i=function(t,n,e,r){const a=S(n),i=n.align??"left",o=t.measureText(e||" ").width;return"center"===i?n.x+r/2-o/2:"right"===i?n.x+r-a-o:n.x+a}(t,n,r,e.w),o=n.y+F(n)+a*v(n),s=t.measureText(r||" ").width;if(t.lineWidth>0&&t.strokeText(r,i,o),t.fillText(r,i,o),(n.underline||n.strikethrough)&&s>0){const e=Math.max(1,n.fontSize/18);t.fillStyle=n.color,n.underline&&t.fillRect(i,o+.92*n.fontSize,s,e),n.strikethrough&&t.fillRect(i,o+.52*n.fontSize,s,e)}}),t.restore();break}case"sticker":if(n.emoji)t.save(),t.font=.86*Math.min(n.w,n.h)+'px -apple-system, "Apple Color Emoji", "Segoe UI Emoji", sans-serif',t.textAlign="center",t.textBaseline="middle",t.fillText(n.emoji,n.x+n.w/2,n.y+n.h/2),t.restore();else if(n.src){const r=e?.get(n.src);r&&t.drawImage(r,n.x,n.y,n.w,n.h)}}}function A(t,n,e,r){const a="number"==typeof r?N(n,r):n;for(const n of a)!f(n)&&x(n)&&W(t,n,e)}async function B(t){const n=new Map,e=[...new Set(t.filter(t=>"sticker"===t.type&&t.src).map(t=>t.src))];return await Promise.all(e.map(t=>new Promise(e=>{const r=new Image;r.onload=()=>{n.set(t,r),e()},r.onerror=()=>e(),r.src=t}))),n}async function Y(t,n,e){const r=t?.filter(t=>!f(t)&&x(t))??[];if(!r.length)return null;const a=document.createElement("canvas");a.width=n,a.height=e;const i=a.getContext("2d");return i?(A(i,r,await B(r)),new Promise(t=>a.toBlob(n=>t(n),"image/png"))):null}function X(t,n,e,r=12){for(let a=t.length-1;a>=0;a--){const i=t[a];if(!f(i)&&R(i,n,e,r))return a}return-1}function E(t,n,e,r,a,i,o){const s=a-e,h=i-r,c=s*s+h*h||1,u=Math.max(0,Math.min(1,((t-e)*s+(n-r)*h)/c));return(t-(e+u*s))**2+(n-(r+u*h))**2<=o*o}function R(t,n,e,r){const a=g(t);if(a){const i=T(t),o=function(t,n,e,r,a){const i=a*l,o=Math.cos(i),s=Math.sin(i),h=t-e,c=n-r;return{x:e+h*o-c*s,y:r+h*s+c*o}}(n,e,i.x,i.y,-a);return H(t,o.x,o.y,r)}return H(t,n,e,r)}function H(t,n,e,r){switch(t.type){case"pen":for(let a=0;a+3<t.points.length;a+=2)if(E(n,e,t.points[a],t.points[a+1],t.points[a+2],t.points[a+3],r+t.width/2))return!0;return!1;case"line":case"arrow":return E(n,e,t.x1,t.y1,t.x2,t.y2,r+t.width/2);case"rect":case"ellipse":return n>=t.x-r&&n<=t.x+t.w+r&&e>=t.y-r&&e<=t.y+t.h+r;case"text":{const a=$(t);return n>=a.x-r&&n<=a.x+a.w+r&&e>=a.y-r&&e<=a.y+a.h+r}case"sticker":return function(t,n,e,r,a){return Math.abs(t-e)<=a&&Math.abs(n-r)<=a}(n,e,t.x+t.w/2,t.y+t.h/2,Math.max(t.w,t.h)/2+r);case"adjust":return!1}}function J(t,n,e){const r=Math.max(8,e);if(!(t>0&&n>0))return{w:r,h:r};const a=r/Math.max(t,n);return{w:Math.max(8,Math.round(t*a)),h:Math.max(8,Math.round(n*a))}}function q(t,n){const e=Math.max(.05,n),r=T(t);switch(t.type){case"pen":return{...t,points:t.points.map((t,n)=>n%2==0?r.x+(t-r.x)*e:r.y+(t-r.y)*e)};case"line":case"arrow":{const n=z(t.x1,t.y1,r.x,r.y,e),a=z(t.x2,t.y2,r.x,r.y,e);return{...t,x1:n.x,y1:n.y,x2:a.x,y2:a.y}}case"rect":case"ellipse":case"sticker":case"adjust":return{...t,w:Math.max(8,t.w*e),h:Math.max(8,t.h*e)};case"text":return{...t,fontSize:Math.min(512,Math.max(8,t.fontSize*e)),width:t.width?Math.max(16,t.width*e):t.width,paddingX:t.paddingX?Math.max(0,t.paddingX*e):t.paddingX,paddingY:t.paddingY?Math.max(0,t.paddingY*e):t.paddingY,borderWidth:t.borderWidth?Math.max(0,t.borderWidth*e):t.borderWidth};default:return t}}function U(t,n){return{...t,rotation:y(n)}}function D(t,n,e){switch(t.type){case"pen":{const r=t.points.map((t,r)=>r%2==0?t+n:t+e);return{...t,points:r}}case"line":case"arrow":return{...t,x1:t.x1+n,y1:t.y1+e,x2:t.x2+n,y2:t.y2+e};case"rect":case"ellipse":case"sticker":case"adjust":case"text":return{...t,x:t.x+n,y:t.y+e}}}export{t as DEG2RAD,h as FILTER_PRESETS,u as buildFilterCss,i as centeredMaxRect,a as clampRect,W as drawOverlay,A as drawOverlays,r as evenize,N as filterOverlaysAtTime,c as findFilterPreset,o as fitRects,J as fitStickerBox,g as getOverlayRotation,X as hitTestOverlay,x as isDrawableOverlay,I as isOverlayActiveAt,f as isOverlayHidden,m as isOverlayLocked,B as loadOverlayImages,e as normalizeDeg,s as outputSize,b as overlayBBox,w as overlayLayerRenderOrder,j as overlayTimeRange,Y as renderOverlaysToPng,U as rotateOverlay,n as rotatedSize,q as scaleOverlay,D as translateOverlay};
|