From 1914d377ab5f3ba5dfc6b12e7b3bd82b25528bc4 Mon Sep 17 00:00:00 2001 From: rodrigorodriguez Date: Sat, 4 Feb 2023 10:48:13 -0300 Subject: [PATCH] new(basic.gblib): BLUR keyword introduced. --- .../basic.gblib/services/ImageProcessing.ts | 25 +++++++++++++++++-- .../services/KeywordsExpressions.ts | 14 +++++++++++ 2 files changed, 37 insertions(+), 2 deletions(-) diff --git a/packages/basic.gblib/services/ImageProcessing.ts b/packages/basic.gblib/services/ImageProcessing.ts index 4a36c330..fa058da0 100644 --- a/packages/basic.gblib/services/ImageProcessing.ts +++ b/packages/basic.gblib/services/ImageProcessing.ts @@ -68,9 +68,9 @@ export class ImageProcessing { } /** - * Returns the page object. + * Sharpen the image. * - * @example OPEN "https://wikipedia.org" + * @example file = SHARPEN file */ public async sharpen({ pid, file: file }) { GBLog.info(`BASIC: Image Processing SHARPEN ${file}.`); @@ -94,4 +94,25 @@ export class ImageProcessing { }; return; } + + /** + * Sharpen the image. + * + * @example file = BLUR file + */ + public async blur({ pid, file: file }) { + GBLog.info(`BASIC: Image Processing SHARPEN ${file}.`); + + const gbfile = DialogKeywords.getFileByHandle(file); + const data = await sharp(gbfile.data) + .blur() + .toBuffer(); + + const newFile = { + filename: gbfile.filename, + data: data + }; + return; + } + } diff --git a/packages/basic.gblib/services/KeywordsExpressions.ts b/packages/basic.gblib/services/KeywordsExpressions.ts index 7ce48114..9ed0d7b2 100644 --- a/packages/basic.gblib/services/KeywordsExpressions.ts +++ b/packages/basic.gblib/services/KeywordsExpressions.ts @@ -741,6 +741,14 @@ export class KeywordsExpressions { return `await sys.set ({pid: pid, ${params}})`; } ]; + keywords[i++] = [ + /^\s*(\w+)\s*\=\s*BLUR\s*(.*)/gim, + ($0, $1, $2, $3) => { + return ` + ${$1} = await img.blur({pid: pid, args: [${$2}]})`; + } + ]; + keywords[i++] = [ /^\s*(\w+)\s*\=\s*SHARPEN\s*(.*)/gim, ($0, $1, $2, $3) => { @@ -749,6 +757,12 @@ export class KeywordsExpressions { } ]; + + + + + + return keywords; } }