Commit 5178e0a4 authored by wjf's avatar wjf

l

parent 9966ede6
...@@ -5,3 +5,4 @@ debug ...@@ -5,3 +5,4 @@ debug
.vscode .vscode
dist dist
test test
docs
\ No newline at end of file
...@@ -13,4 +13,5 @@ webpack.config.js ...@@ -13,4 +13,5 @@ webpack.config.js
rollup.config.js rollup.config.js
record.txt record.txt
test test
examples examples
\ No newline at end of file docs
\ No newline at end of file
declare namespace FYGE{export const VERSION = "2.0.15"; declare namespace FYGE{export const VERSION = "2.0.16";
export const osType: "ios" | "android" | "pc"; export const osType: "ios" | "android" | "pc";
...@@ -4149,6 +4149,11 @@ export class CanvasRenderer extends SystemRenderer { ...@@ -4149,6 +4149,11 @@ export class CanvasRenderer extends SystemRenderer {
destroyPlugins(): void; destroyPlugins(): void;
} }
export function toDisplayDataURL(obj: DisplayObject, rect?: Rectangle, typeInfo?: {
type: "png" | "jpeg";
quality?: number;
}
export function canUseNewCanvasBlendModes(): boolean; export function canUseNewCanvasBlendModes(): boolean;
export function getTintedTexture(texture: Texture, color: number): HTMLCanvasElement; export function getTintedTexture(texture: Texture, color: number): HTMLCanvasElement;
...@@ -6696,7 +6701,9 @@ export class EditableText extends TextField { ...@@ -6696,7 +6701,9 @@ export class EditableText extends TextField {
* 获取输入框内容 * 获取输入框内容
*/ */
get inputValue(): string; get inputValue(): string;
set inputValue(v: string);
constructor(); constructor();
private initElement;
} }
export class BitmapText extends Container { export class BitmapText extends Container {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -71,7 +71,7 @@ ...@@ -71,7 +71,7 @@
1624,//设计高度 1624,//设计高度
sysInfo && sysInfo.windowWidth || document.body.clientWidth, sysInfo && sysInfo.windowWidth || document.body.clientWidth,
sysInfo && sysInfo.windowHeight || document.body.clientHeight, sysInfo && sysInfo.windowHeight || document.body.clientHeight,
FYGE.RENDERER_TYPE.WEBGL, FYGE.RENDERER_TYPE.CANVAS,
); );
//监听窗口缩放,按需,一般移动端的不需要 //监听窗口缩放,按需,一般移动端的不需要
window.addEventListener('resize', () => { stage.resize() }); window.addEventListener('resize', () => { stage.resize() });
...@@ -90,7 +90,7 @@ ...@@ -90,7 +90,7 @@
//添加个背景矢量图 //添加个背景矢量图
stage.addChild(new FYGE.Graphics()) stage.addChild(new FYGE.Graphics())
.beginFill(0x000000, 0.7) .beginFill(0x000000, 0.7)
.drawRect(0, 0, 750, 1624) .drawRect(100, 100, 750, 1624)
.endFill() .endFill()
//单图纹理 //单图纹理
...@@ -247,6 +247,8 @@ ...@@ -247,6 +247,8 @@
s.lineTo(200, 10); s.lineTo(200, 10);
s.lineTo(10, 10); s.lineTo(10, 10);
s.endStroke() s.endStroke()
// console.log( FYGE.toDisplayDataURL(stage,null,{type: "jpeg"}))
}, this); }, this);
//循环 //循环
......
{ {
"name": "fyge", "name": "fyge",
"version": "2.0.6", "version": "2.0.15",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
...@@ -412,6 +412,11 @@ ...@@ -412,6 +412,11 @@
"dev": true, "dev": true,
"optional": true "optional": true
}, },
"at-least-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz",
"integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg=="
},
"atob": { "atob": {
"version": "2.1.2", "version": "2.1.2",
"resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz",
...@@ -421,8 +426,7 @@ ...@@ -421,8 +426,7 @@
"balanced-match": { "balanced-match": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
"integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c="
"dev": true
}, },
"base": { "base": {
"version": "0.11.2", "version": "0.11.2",
...@@ -514,7 +518,6 @@ ...@@ -514,7 +518,6 @@
"version": "1.1.11", "version": "1.1.11",
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
"integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
"dev": true,
"requires": { "requires": {
"balanced-match": "^1.0.0", "balanced-match": "^1.0.0",
"concat-map": "0.0.1" "concat-map": "0.0.1"
...@@ -879,6 +882,11 @@ ...@@ -879,6 +882,11 @@
"integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=",
"dev": true "dev": true
}, },
"colors": {
"version": "1.4.0",
"resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz",
"integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA=="
},
"commander": { "commander": {
"version": "2.20.3", "version": "2.20.3",
"resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz",
...@@ -900,8 +908,7 @@ ...@@ -900,8 +908,7 @@
"concat-map": { "concat-map": {
"version": "0.0.1", "version": "0.0.1",
"resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
"integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s="
"dev": true
}, },
"concat-stream": { "concat-stream": {
"version": "1.6.2", "version": "1.6.2",
...@@ -1590,8 +1597,7 @@ ...@@ -1590,8 +1597,7 @@
"fs.realpath": { "fs.realpath": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
"integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8="
"dev": true
}, },
"fsevents": { "fsevents": {
"version": "2.1.3", "version": "2.1.3",
...@@ -1603,8 +1609,7 @@ ...@@ -1603,8 +1609,7 @@
"function-bind": { "function-bind": {
"version": "1.1.1", "version": "1.1.1",
"resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz",
"integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"dev": true
}, },
"get-caller-file": { "get-caller-file": {
"version": "2.0.5", "version": "2.0.5",
...@@ -1628,7 +1633,6 @@ ...@@ -1628,7 +1633,6 @@
"version": "7.1.6", "version": "7.1.6",
"resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz",
"integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==",
"dev": true,
"requires": { "requires": {
"fs.realpath": "^1.0.0", "fs.realpath": "^1.0.0",
"inflight": "^1.0.4", "inflight": "^1.0.4",
...@@ -1686,14 +1690,36 @@ ...@@ -1686,14 +1690,36 @@
"graceful-fs": { "graceful-fs": {
"version": "4.2.4", "version": "4.2.4",
"resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz",
"integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw=="
"dev": true },
"handlebars": {
"version": "4.7.6",
"resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.6.tgz",
"integrity": "sha512-1f2BACcBfiwAfStCKZNrUCgqNZkGsAT7UM3kkYtXuLo0KnaVfjKOyf7PRzB6++aK9STyT1Pd2ZCPe3EGOXleXA==",
"requires": {
"minimist": "^1.2.5",
"neo-async": "^2.6.0",
"source-map": "^0.6.1",
"uglify-js": "^3.1.4",
"wordwrap": "^1.0.0"
},
"dependencies": {
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
},
"source-map": {
"version": "0.6.1",
"resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
"integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g=="
}
}
}, },
"has": { "has": {
"version": "1.0.3", "version": "1.0.3",
"resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
"integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
"dev": true,
"requires": { "requires": {
"function-bind": "^1.1.1" "function-bind": "^1.1.1"
} }
...@@ -1885,7 +1911,6 @@ ...@@ -1885,7 +1911,6 @@
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
"integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
"dev": true,
"requires": { "requires": {
"once": "^1.3.0", "once": "^1.3.0",
"wrappy": "1" "wrappy": "1"
...@@ -1894,8 +1919,7 @@ ...@@ -1894,8 +1919,7 @@
"inherits": { "inherits": {
"version": "2.0.4", "version": "2.0.4",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
"integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ=="
"dev": true
}, },
"ini": { "ini": {
"version": "1.3.5", "version": "1.3.5",
...@@ -1906,8 +1930,7 @@ ...@@ -1906,8 +1930,7 @@
"interpret": { "interpret": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz",
"integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==", "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA=="
"dev": true
}, },
"is-accessor-descriptor": { "is-accessor-descriptor": {
"version": "0.1.6", "version": "0.1.6",
...@@ -1949,7 +1972,6 @@ ...@@ -1949,7 +1972,6 @@
"version": "2.1.0", "version": "2.1.0",
"resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz",
"integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==",
"dev": true,
"requires": { "requires": {
"has": "^1.0.3" "has": "^1.0.3"
} }
...@@ -2191,15 +2213,24 @@ ...@@ -2191,15 +2213,24 @@
"p-locate": "^4.1.0" "p-locate": "^4.1.0"
} }
}, },
"lodash": {
"version": "4.17.20",
"resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz",
"integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA=="
},
"lru-cache": { "lru-cache": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
"integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
"dev": true,
"requires": { "requires": {
"yallist": "^3.0.2" "yallist": "^3.0.2"
} }
}, },
"lunr": {
"version": "2.3.9",
"resolved": "https://registry.npmjs.org/lunr/-/lunr-2.3.9.tgz",
"integrity": "sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow=="
},
"magic-string": { "magic-string": {
"version": "0.25.7", "version": "0.25.7",
"resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz",
...@@ -2233,6 +2264,11 @@ ...@@ -2233,6 +2264,11 @@
"object-visit": "^1.0.0" "object-visit": "^1.0.0"
} }
}, },
"marked": {
"version": "1.2.9",
"resolved": "https://registry.npmjs.org/marked/-/marked-1.2.9.tgz",
"integrity": "sha512-H8lIX2SvyitGX+TRdtS06m1jHMijKN/XjfH6Ooii9fvxMlh8QdqBfBDkGUpMWH2kQNrtixjzYUa3SH8ROTgRRw=="
},
"md5.js": { "md5.js": {
"version": "1.3.5", "version": "1.3.5",
"resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz",
...@@ -2315,7 +2351,6 @@ ...@@ -2315,7 +2351,6 @@
"version": "3.0.4", "version": "3.0.4",
"resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz",
"integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==",
"dev": true,
"requires": { "requires": {
"brace-expansion": "^1.1.7" "brace-expansion": "^1.1.7"
} }
...@@ -2424,8 +2459,7 @@ ...@@ -2424,8 +2459,7 @@
"neo-async": { "neo-async": {
"version": "2.6.2", "version": "2.6.2",
"resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz",
"integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw=="
"dev": true
}, },
"nice-try": { "nice-try": {
"version": "1.0.5", "version": "1.0.5",
...@@ -2538,11 +2572,18 @@ ...@@ -2538,11 +2572,18 @@
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
"integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
"dev": true,
"requires": { "requires": {
"wrappy": "1" "wrappy": "1"
} }
}, },
"onigasm": {
"version": "2.2.5",
"resolved": "https://registry.npmjs.org/onigasm/-/onigasm-2.2.5.tgz",
"integrity": "sha512-F+th54mPc0l1lp1ZcFMyL/jTs2Tlq4SqIHKIXGZOR/VkHkF9A7Fr5rRr5+ZG/lWeRsyrClLYRq7s/yFQ/XhWCA==",
"requires": {
"lru-cache": "^5.1.1"
}
},
"os-browserify": { "os-browserify": {
"version": "0.3.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz",
...@@ -2637,8 +2678,7 @@ ...@@ -2637,8 +2678,7 @@
"path-is-absolute": { "path-is-absolute": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
"integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18="
"dev": true
}, },
"path-key": { "path-key": {
"version": "2.0.1", "version": "2.0.1",
...@@ -2649,8 +2689,7 @@ ...@@ -2649,8 +2689,7 @@
"path-parse": { "path-parse": {
"version": "1.0.6", "version": "1.0.6",
"resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz",
"integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw=="
"dev": true
}, },
"pbkdf2": { "pbkdf2": {
"version": "3.1.1", "version": "3.1.1",
...@@ -2705,6 +2744,11 @@ ...@@ -2705,6 +2744,11 @@
"integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==",
"dev": true "dev": true
}, },
"progress": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
},
"promise-inflight": { "promise-inflight": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz",
...@@ -2834,6 +2878,14 @@ ...@@ -2834,6 +2878,14 @@
"picomatch": "^2.2.1" "picomatch": "^2.2.1"
} }
}, },
"rechoir": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
"integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
"requires": {
"resolve": "^1.1.6"
}
},
"regex-not": { "regex-not": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz",
...@@ -2879,7 +2931,6 @@ ...@@ -2879,7 +2931,6 @@
"version": "1.19.0", "version": "1.19.0",
"resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz",
"integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==",
"dev": true,
"requires": { "requires": {
"is-core-module": "^2.1.0", "is-core-module": "^2.1.0",
"path-parse": "^1.0.6" "path-parse": "^1.0.6"
...@@ -3166,6 +3217,59 @@ ...@@ -3166,6 +3217,59 @@
"integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
"dev": true "dev": true
}, },
"shelljs": {
"version": "0.8.4",
"resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.4.tgz",
"integrity": "sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==",
"requires": {
"glob": "^7.0.0",
"interpret": "^1.0.0",
"rechoir": "^0.6.2"
}
},
"shiki": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/shiki/-/shiki-0.2.7.tgz",
"integrity": "sha512-bwVc7cdtYYHEO9O+XJ8aNOskKRfaQd5Y4ovLRfbQkmiLSUaR+bdlssbZUUhbQ0JAFMYcTcJ5tjG5KtnufttDHQ==",
"requires": {
"onigasm": "^2.2.5",
"shiki-languages": "^0.2.7",
"shiki-themes": "^0.2.7",
"vscode-textmate": "^5.2.0"
}
},
"shiki-languages": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/shiki-languages/-/shiki-languages-0.2.7.tgz",
"integrity": "sha512-REmakh7pn2jCn9GDMRSK36oDgqhh+rSvJPo77sdWTOmk44C5b0XlYPwJZcFOMJWUZJE0c7FCbKclw4FLwUKLRw==",
"requires": {
"vscode-textmate": "^5.2.0"
}
},
"shiki-themes": {
"version": "0.2.7",
"resolved": "https://registry.npmjs.org/shiki-themes/-/shiki-themes-0.2.7.tgz",
"integrity": "sha512-ZMmboDYw5+SEpugM8KGUq3tkZ0vXg+k60XX6NngDK7gc1Sv6YLUlanpvG3evm57uKJvfXsky/S5MzSOTtYKLjA==",
"requires": {
"json5": "^2.1.0",
"vscode-textmate": "^5.2.0"
},
"dependencies": {
"json5": {
"version": "2.2.0",
"resolved": "https://registry.npmjs.org/json5/-/json5-2.2.0.tgz",
"integrity": "sha512-f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==",
"requires": {
"minimist": "^1.2.5"
}
},
"minimist": {
"version": "1.2.5",
"resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
"integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw=="
}
}
},
"snapdragon": { "snapdragon": {
"version": "0.8.2", "version": "0.8.2",
"resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz",
...@@ -3679,6 +3783,56 @@ ...@@ -3679,6 +3783,56 @@
"integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=",
"dev": true "dev": true
}, },
"typedoc": {
"version": "0.20.20",
"resolved": "https://registry.npmjs.org/typedoc/-/typedoc-0.20.20.tgz",
"integrity": "sha512-qXB40ttDGaqv6q6UIiAVqOpX/GlXoBur0lB4g9fePoYjfwa6OsPkoYufLtsjEaBB0EokShR2aIoI5GX4RB83cw==",
"requires": {
"colors": "^1.4.0",
"fs-extra": "^9.1.0",
"handlebars": "^4.7.6",
"lodash": "^4.17.20",
"lunr": "^2.3.9",
"marked": "^1.2.8",
"minimatch": "^3.0.0",
"progress": "^2.0.3",
"shelljs": "^0.8.4",
"shiki": "^0.2.7",
"typedoc-default-themes": "^0.12.7"
},
"dependencies": {
"fs-extra": {
"version": "9.1.0",
"resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz",
"integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==",
"requires": {
"at-least-node": "^1.0.0",
"graceful-fs": "^4.2.0",
"jsonfile": "^6.0.1",
"universalify": "^2.0.0"
}
},
"jsonfile": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz",
"integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==",
"requires": {
"graceful-fs": "^4.1.6",
"universalify": "^2.0.0"
}
},
"universalify": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz",
"integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ=="
}
}
},
"typedoc-default-themes": {
"version": "0.12.7",
"resolved": "https://registry.npmjs.org/typedoc-default-themes/-/typedoc-default-themes-0.12.7.tgz",
"integrity": "sha512-0XAuGEqID+gon1+fhi4LycOEFM+5Mvm2PjwaiVZNAzU7pn3G2DEpsoXnFOPlLDnHY6ZW0BY0nO7ur9fHOFkBLQ=="
},
"typescript": { "typescript": {
"version": "3.9.7", "version": "3.9.7",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz",
...@@ -3688,8 +3842,7 @@ ...@@ -3688,8 +3842,7 @@
"uglify-js": { "uglify-js": {
"version": "3.12.0", "version": "3.12.0",
"resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.0.tgz", "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.12.0.tgz",
"integrity": "sha512-8lBMSkFZuAK7gGF8LswsXmir8eX8d2AAMOnxSDWjKBx/fBR6MypQjs78m6ML9zQVp1/hD4TBdfeMZMC7nW1TAA==", "integrity": "sha512-8lBMSkFZuAK7gGF8LswsXmir8eX8d2AAMOnxSDWjKBx/fBR6MypQjs78m6ML9zQVp1/hD4TBdfeMZMC7nW1TAA=="
"dev": true
}, },
"union-value": { "union-value": {
"version": "1.0.1", "version": "1.0.1",
...@@ -3848,6 +4001,11 @@ ...@@ -3848,6 +4001,11 @@
"integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==",
"dev": true "dev": true
}, },
"vscode-textmate": {
"version": "5.2.0",
"resolved": "https://registry.npmjs.org/vscode-textmate/-/vscode-textmate-5.2.0.tgz",
"integrity": "sha512-Uw5ooOQxRASHgu6C7GVvUxisKXfSgW4oFlO+aa+PAkgmH89O3CXxEEzNRNtHSqtXFTl0nAC1uYj0GMSH27uwtQ=="
},
"watchpack": { "watchpack": {
"version": "1.7.5", "version": "1.7.5",
"resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz",
...@@ -4081,6 +4239,11 @@ ...@@ -4081,6 +4239,11 @@
"integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=",
"dev": true "dev": true
}, },
"wordwrap": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz",
"integrity": "sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus="
},
"worker-farm": { "worker-farm": {
"version": "1.7.0", "version": "1.7.0",
"resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz",
...@@ -4104,8 +4267,7 @@ ...@@ -4104,8 +4267,7 @@
"wrappy": { "wrappy": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
"integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
"dev": true
}, },
"xtend": { "xtend": {
"version": "4.0.2", "version": "4.0.2",
...@@ -4122,8 +4284,7 @@ ...@@ -4122,8 +4284,7 @@
"yallist": { "yallist": {
"version": "3.1.1", "version": "3.1.1",
"resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
"integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g=="
"dev": true
}, },
"yargs": { "yargs": {
"version": "13.3.2", "version": "13.3.2",
......
{ {
"name": "fyge", "name": "fyge",
"version": "2.0.15", "version": "2.0.16",
"description": "canvas渲染引擎", "description": "canvas渲染引擎",
"main": "./build/fyge.min.js", "main": "./build/fyge.min.js",
"types": "./build/FYGE.d.ts", "types": "./build/FYGE.d.ts",
"dependencies": {}, "dependencies": {
"typedoc": "^0.20.20"
},
"scripts": { "scripts": {
"declare": "node scripts/declare.js src/index.ts", "declare": "node scripts/declare.js src/index.ts",
"build": "webpack", "build": "webpack",
"test": "echo \"Error: no test specified\" && exit 1", "test": "echo \"Error: no test specified\" && exit 1",
"dev": "webpack -w", "dev": "webpack -w",
"dev1": "rollup -c -m -w", "dev1": "rollup -c -m -w",
"watch": "webpack --watch" "watch": "webpack --watch",
"typedoc":"typedoc src/index.ts"
}, },
"author": "MrKwon", "author": "MrKwon",
"license": "ISC", "license": "ISC",
...@@ -27,7 +30,8 @@ ...@@ -27,7 +30,8 @@
"rollup-plugin-typescript": "^1.0.1", "rollup-plugin-typescript": "^1.0.1",
"rollup-plugin-typescript2": "^0.25.2", "rollup-plugin-typescript2": "^0.25.2",
"rollup-plugin-uglify": "^6.0.3", "rollup-plugin-uglify": "^6.0.3",
"typescript": "^3.5.1" "typescript": "^3.5.1",
"typedoc": "^0.20.20"
}, },
"keywords": [ "keywords": [
"h5,淘宝小程序,canvas,webgl,3d,gltf,spine" "h5,淘宝小程序,canvas,webgl,3d,gltf,spine"
......
...@@ -230,6 +230,11 @@ ...@@ -230,6 +230,11 @@
Lottie新增几处断言,mark引号,layerData引号 Lottie新增几处断言,mark引号,layerData引号
MovieClip的setImage加了断言 MovieClip的setImage加了断言
Spine加了_instanceType,sortBone加了断言 Spine加了_instanceType,sortBone加了断言
2.0.16 Graphics的_renderCanvas方法的this.transform._parentID = -1,保证世界矩阵重新计算
CanvasMaskManager的pushMask方法添加finishPoly执行条件
EditableText大改,待测试
toDisplayDataURL的传参typeInfo加入type限制png|jpeg
现在不改,索引数据过大时得用Uint32Array,同时开扩展gl.getExtension( "OES_element_index_uint" )和drawElements改参数类型为gl.UNSIGNED_INT 现在不改,索引数据过大时得用Uint32Array,同时开扩展gl.getExtension( "OES_element_index_uint" )和drawElements改参数类型为gl.UNSIGNED_INT
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
* @name VERSION * @name VERSION
* @type {string} * @type {string}
*/ */
export const VERSION = "2.0.15"; export const VERSION = "2.0.16";
/** /**
......
...@@ -1131,7 +1131,11 @@ export default class Graphics extends Container { ...@@ -1131,7 +1131,11 @@ export default class Graphics extends Container {
this.alpha = tempAlpha; this.alpha = tempAlpha;
this.cacheAsBitmap = true; this.cacheAsBitmap = true;
this.children = tempChildren;//待测试,还原原先子级 this.children = tempChildren;//待测试,还原原先子级
if (this.parent) this.updateTransform(); if (this.parent) {
//generateCanvasTexture里用canvasRenderer渲染会修改世界矩阵,保证自己能根据父级矩阵更新回来
this.transform._parentID = -1;
this.updateTransform();
}
} }
//普通画图的渲染,提供图片和图形的插件,先判断_anchorTexture,offsetX,0 //普通画图的渲染,提供图片和图形的插件,先判断_anchorTexture,offsetX,0
renderer.plugins.sprite.render(this); renderer.plugins.sprite.render(this);
......
...@@ -40,7 +40,7 @@ export default class CanvasMaskManager extends HashObject { ...@@ -40,7 +40,7 @@ export default class CanvasMaskManager extends HashObject {
//兼容下canvas下也能用Shape作为遮罩 //兼容下canvas下也能用Shape作为遮罩
if (maskData.instanceType == "Shape") { if (maskData.instanceType == "Shape") {
maskData["_drawShape"](renderer.context) maskData["_drawShape"](renderer.context)
} else { } else if (maskData.instanceType == "Graphics") {//还有那种sprite的。。。暂时这么判断,canvas下的sprite无效
//以防万一,没有end,加一段,不考虑闭合情况 //以防万一,没有end,加一段,不考虑闭合情况
maskData["finishPoly"]() maskData["finishPoly"]()
this.renderGraphicsShape(maskData); this.renderGraphicsShape(maskData);
......
...@@ -67,10 +67,15 @@ export class EditableText extends TextField { ...@@ -67,10 +67,15 @@ export class EditableText extends TextField {
get inputValue(): string { get inputValue(): string {
return this.htmlElement && this.htmlElement.value || (this.text != this._prompt ? this.text : "") return this.htmlElement && this.htmlElement.value || (this.text != this._prompt ? this.text : "")
} }
set inputValue(v: string) {
if (this.htmlElement) this.htmlElement.value = v;
this.text = v;
this.fillColor = this.textColor;
}
public constructor() { public constructor() {
super(); super();
this._instanceType = "EditableText";
var s: EditableText = this; var s: EditableText = this;
var remove = function () { var remove = function () {
//失去焦点 //失去焦点
...@@ -89,42 +94,7 @@ export class EditableText extends TextField { ...@@ -89,42 +94,7 @@ export class EditableText extends TextField {
}; };
this.addEventListener(MouseEvent.CLICK, function (e: Event) { this.addEventListener(MouseEvent.CLICK, function (e: Event) {
if (!s.htmlElement) { s.initElement()
s.htmlElement = document.createElement("input");
s.htmlElement.type = "input";
s.htmlElement.style.position = "absolute";
s.htmlElement.style.display = "none";
s.htmlElement.style.transformOrigin = s.htmlElement.style.WebkitTransformOrigin = "0 0 0";
s.htmlElement.style.outline = "none";
s.htmlElement.style.borderWidth = "thin";
s.htmlElement.style.borderColor = "#000";
//默认文案
s.htmlElement.placeholder = "";
/////////////////////设置边框//////////////
s.htmlElement.style.borderStyle = "none";
s.htmlElement.style.backgroundColor = "transparent";
// s.htmlElement.style.borderStyle = "inset";
// s.htmlElement.style.backgroundColor = "#fff";
//color:blue; text-align:center"
// if (this.inputType == 2) {
// this.htmlElement.style.lineHeight = lineSpacing + "px";
// }
// s.stage.rootDiv.insertBefore(s.htmlElement, s.stage.rootDiv.childNodes[0]);
//TODO到时需要修改,记录下,stage加上canvas索引,
// var divParent = s.stage.canvas.parentNode;
// divParent.insertBefore(s.htmlElement, divParent.childNodes[0])
document.body.appendChild(s.htmlElement)
//添加
s.htmlElement.onblur = function () {
if (osType == "ios") {
window.scrollTo({ top: 0, left: 0, behavior: "smooth" });
}
};
}
//font包括字体和大小 //font包括字体和大小
s.htmlElement.style.font = s.size + "px " + this.font; s.htmlElement.style.font = s.size + "px " + this.font;
s.htmlElement.style.color = s.textColor; s.htmlElement.style.color = s.textColor;
...@@ -135,6 +105,8 @@ export class EditableText extends TextField { ...@@ -135,6 +105,8 @@ export class EditableText extends TextField {
// } // }
s.htmlElement.style.height = s.textHeight + "px"; s.htmlElement.style.height = s.textHeight + "px";
s.htmlElement.style.width = s.textWidth + "px"; s.htmlElement.style.width = s.textWidth + "px";
//如果文案不是默认的
if (s.text !== s.prompt) s.htmlElement.value = s.text;//这样判断还是可能有问题,TODO
s.text = ""; s.text = "";
s.htmlElement.style.display = "block"; s.htmlElement.style.display = "block";
s.htmlElement.focus(); s.htmlElement.focus();
...@@ -149,5 +121,46 @@ export class EditableText extends TextField { ...@@ -149,5 +121,46 @@ export class EditableText extends TextField {
}); });
} }
private initElement() {
let s: EditableText = this;
if (s.htmlElement) return;
s.htmlElement = document.createElement("input");
let htmlElement: HTMLInputElement = s.htmlElement, style = htmlElement.style;
htmlElement.type = "input";
style.position = "absolute";
style.display = "none";
//@ts-ignore
style.transformOrigin = style.WebkitTransformOrigin = style.webkitTransformOrigin = "0 0 0";
style.outline = "none";
style.borderWidth = "thin";
style.borderColor = "#000";
//默认文案
htmlElement.placeholder = "";
/////////////////////设置边框//////////////
style.borderStyle = "none";
style.backgroundColor = "transparent";
// s.htmlElement.style.borderStyle = "inset";
// s.htmlElement.style.backgroundColor = "#fff";
//color:blue; text-align:center"
// if (this.inputType == 2) {
// this.htmlElement.style.lineHeight = lineSpacing + "px";
// }
// s.stage.rootDiv.insertBefore(s.htmlElement, s.stage.rootDiv.childNodes[0]);
//TODO到时需要修改,记录下,stage加上canvas索引,
var divParent = s.stage["canvas"].parentNode;
if (divParent) {
divParent.insertBefore(htmlElement, divParent.childNodes[0])
} else {
document.body.appendChild(htmlElement)
}
//添加
htmlElement.onblur = function () {
if (osType == "ios") {
window.scrollTo({ top: 0, left: 0, behavior: "smooth" });
}
};
}
} }
...@@ -17,7 +17,7 @@ let tempMatrix = new Matrix() ...@@ -17,7 +17,7 @@ let tempMatrix = new Matrix()
* @param {DisplayObject} obj 显示对象 * @param {DisplayObject} obj 显示对象
* @param {Rectangle} rect 需要裁切的区域,默认不裁切 * @param {Rectangle} rect 需要裁切的区域,默认不裁切
* @param {Object} typeInfo {type:"png"} 或者 {type:"jpeg",quality:100} png格式不需要设置quality,jpeg 格式需要设置quality的值 从1-100 * @param {Object} typeInfo {type:"png"} 或者 {type:"jpeg",quality:100} png格式不需要设置quality,jpeg 格式需要设置quality的值 从1-100
* @param {number} bgColor 十六进制颜色值如 0xffffff 默认值为空的情况下,jpeg格式的话就是黑色底,png格式的话就是透明底, * @param {number} bgColor 十六进制颜色值如 0xffffff 默认值为空的情况下,jpeg格式的话就是黑色底,png格式的话就是透明底,暂时无效
* @return {string} base64格式数据 * @return {string} base64格式数据
* @example * @example
* toDisplayDataURL(DisplayObj, { * toDisplayDataURL(DisplayObj, {
...@@ -32,7 +32,12 @@ let tempMatrix = new Matrix() ...@@ -32,7 +32,12 @@ let tempMatrix = new Matrix()
* *
* Tip:在一些需要上传图片,编辑图片,需要提交图片数据,分享作品又或者长按保存作品的项目,运用toDisplayDataURL方法把显示对象base64就是最好不过的选择了。 * Tip:在一些需要上传图片,编辑图片,需要提交图片数据,分享作品又或者长按保存作品的项目,运用toDisplayDataURL方法把显示对象base64就是最好不过的选择了。
*/ */
export default function toDisplayDataURL(obj: DisplayObject, rect: Rectangle = null, typeInfo: any = null, bgColor: number = 0x000000): string { export default function toDisplayDataURL(
obj: DisplayObject,
rect: Rectangle = null,
typeInfo: { type: "png" | "jpeg", quality?: number } = null,
bgColor: number = 0x000000
): string {
var bounds = obj.getLocalBounds(); var bounds = obj.getLocalBounds();
let w: number = rect ? rect.width : bounds.width; let w: number = rect ? rect.width : bounds.width;
let h: number = rect ? rect.height : bounds.height; let h: number = rect ? rect.height : bounds.height;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment