@leafer/image
Advanced tools
+7
-7
| { | ||
| "name": "@leafer/image", | ||
| "version": "1.11.2", | ||
| "version": "1.12.0", | ||
| "description": "@leafer/image", | ||
@@ -25,11 +25,11 @@ "author": "Chao (Leafer) Wan", | ||
| "dependencies": { | ||
| "@leafer/task": "1.11.2", | ||
| "@leafer/file": "1.11.2", | ||
| "@leafer/data": "1.11.2", | ||
| "@leafer/math": "1.11.2", | ||
| "@leafer/platform": "1.11.2" | ||
| "@leafer/task": "1.12.0", | ||
| "@leafer/file": "1.12.0", | ||
| "@leafer/data": "1.12.0", | ||
| "@leafer/math": "1.12.0", | ||
| "@leafer/platform": "1.12.0" | ||
| }, | ||
| "devDependencies": { | ||
| "@leafer/interface": "1.11.2" | ||
| "@leafer/interface": "1.12.0" | ||
| } | ||
| } |
+23
-6
| import { IImageManager, ILeaferImageConfig, ILeaferImage, IExportFileType } from '@leafer/interface' | ||
| import { Creator } from '@leafer/platform' | ||
| import { Creator, Platform } from '@leafer/platform' | ||
| import { FileHelper, Resource } from '@leafer/file' | ||
@@ -24,9 +24,23 @@ import { TaskProcessor } from '@leafer/task' | ||
| image.use-- | ||
| setTimeout(() => { if (!image.use) I.recycledList.push(image) }) | ||
| setTimeout(() => { | ||
| if (!image.use) { | ||
| if (Platform.image.isLarge(image)) { | ||
| if (image.url) Resource.remove(image.url) | ||
| } else { | ||
| image.clearLevels() | ||
| I.recycledList.push(image) | ||
| } | ||
| } | ||
| }) | ||
| }, | ||
| clearRecycled(): void { | ||
| // maybe rewrite | ||
| recyclePaint(paint: any): void { | ||
| I.recycle(paint.image) | ||
| }, | ||
| clearRecycled(force?: boolean): void { | ||
| const list = I.recycledList | ||
| if (list.length > I.maxRecycled) { | ||
| list.forEach(image => (!image.use && image.url) && Resource.remove(image.url)) | ||
| if (list.length > I.maxRecycled || force) { | ||
| list.forEach(image => ((!image.use || force) && image.url) && Resource.remove(image.url)) | ||
| list.length = 0 | ||
@@ -36,2 +50,5 @@ } | ||
| // need rewrite | ||
| clearLevels(): void { }, | ||
| hasAlphaPixel(config: ILeaferImageConfig): boolean { | ||
@@ -54,3 +71,3 @@ return FileHelper.alphaPixelTypes.some(item => I.isFormat(item, config)) | ||
| destroy(): void { | ||
| I.recycledList = [] | ||
| this.clearRecycled(true) | ||
| } | ||
@@ -57,0 +74,0 @@ |
@@ -124,6 +124,12 @@ import { ILeaferImage, ILeaferImageConfig, IFunction, IObject, InnerId, IMatrixData, ICanvasPattern, ILeaferImageCacheCanvas, ILeaferImagePatternPaint } from '@leafer/interface' | ||
| // need rewrite | ||
| public clearLevels(_checkUse?: boolean): void { } | ||
| public destroy(): void { | ||
| this.clearLevels() | ||
| const { view } = this | ||
| if (view && view.close) view.close() // 可能为 ImageBitmap | ||
| this.config = { url: '' } | ||
| this.cache = null | ||
| this.cache = this.view = null | ||
| this.waitComplete.length = 0 | ||
@@ -130,0 +136,0 @@ } |
+1
-0
@@ -27,2 +27,3 @@ import { ILeaferImage, InnerId, IObject, ILeaferImageConfig, IFunction, ILeaferImageCacheCanvas, IMatrixData, ILeaferImagePatternPaint, ICanvasPattern, IImageManager } from '@leafer/interface'; | ||
| getPattern(canvas: any, repeat: string | null, transform?: IMatrixData, paint?: ILeaferImagePatternPaint): ICanvasPattern; | ||
| clearLevels(_checkUse?: boolean): void; | ||
| destroy(): void; | ||
@@ -29,0 +30,0 @@ } |
10005
7.63%194
12.14%+ Added
+ Added
+ Added
+ Added
+ Added
+ Added
- Removed
- Removed
- Removed
- Removed
- Removed
- Removed
Updated
Updated
Updated
Updated
Updated