| _id: image_processing | |
| author: Anton Breslavskii | https://github.com/breslavsky | |
| description: Change format, resize images, etc. | |
| readme: The first version | |
| title: en=Process images;ru=Обработка изображений | |
| url: https://huggingface.co/PiperMy/Node-Packages/resolve/main/image_processing.yaml | |
| version: 2 | |
| nodes: | |
| random_image: | |
| _id: random_image | |
| arrange: | |
| x: 80 | |
| y: 150 | |
| category: | |
| _id: process_images | |
| title: en=Work with images;ru=Работа с изображениями | |
| environment: {} | |
| inputs: | |
| width: | |
| order: 1 | |
| title: en=Width;ru=Ширина | |
| type: integer | |
| required: true | |
| placeholder: "200" | |
| default: 200 | |
| height: | |
| order: 2 | |
| title: en=Height;ru=Высота | |
| type: integer | |
| placeholder: "200" | |
| default: 200 | |
| outputs: | |
| image: | |
| title: en=Image;ru=Изображение | |
| type: image | |
| package: image_processing | |
| script: |- | |
| export async function run({ inputs }) { | |
| const { NextNode } = DEFINITIONS; | |
| const { | |
| width, | |
| height | |
| } = inputs; | |
| const url = ['https://picsum.photos', width || 200]; | |
| if (!!height) { | |
| url.push(height); | |
| } | |
| const { data: image } = await download(url.join('/')); | |
| return NextNode.from({ | |
| outputs: { | |
| image | |
| } | |
| }); | |
| } | |
| source: catalog | |
| title: en=Random image;ru=Случайная картинка | |
| version: 1 | |
| resize_image: | |
| _id: resize_image | |
| arrange: | |
| x: 410 | |
| y: 150 | |
| category: | |
| _id: process_images | |
| title: en=Work with images;ru=Работа с изображениями | |
| inputs: | |
| image: | |
| order: 1 | |
| title: Image | |
| type: image | |
| required: true | |
| width: | |
| order: 2 | |
| title: Width | |
| type: integer | |
| default: 200 | |
| height: | |
| order: 3 | |
| title: Height | |
| type: integer | |
| default: 200 | |
| fit: | |
| order: 4 | |
| title: Fit | |
| type: string | |
| default: cover | |
| enum: | |
| - cover|Cover | |
| - contain|Contain | |
| - fill|Fill | |
| - inside|Inside | |
| - outside|Outside | |
| outputs: | |
| image: | |
| title: Image | |
| type: image | |
| package: image_processing | |
| script: | | |
| export async function run({ inputs }) { | |
| const { NextNode } = DEFINITIONS; | |
| const sharp = require('sharp'); | |
| const { image, width, height, fit } = inputs; | |
| const { data } = await download(image); | |
| const resized = await sharp(data) | |
| .resize({ | |
| width, | |
| height, | |
| fit | |
| }) | |
| .toBuffer(); | |
| return NextNode.from({ outputs: { image: resized } }); | |
| } | |
| source: catalog | |
| title: en=Resize image;ru=Изменить размер картинки | |
| version: 1 | |