Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Скачать HTMLImageElement (https://javascript.ru/forum/misc/86287-skachat-htmlimageelement.html)

REAB 09.02.2025 15:11

Скачать HTMLImageElement
 
Всем привет!

Создаю приложение на подобии Paint используя игровой движок Phaser 3.

https://rexrainbow.github.io/phaser3...rendertexture/

Создаю холст (renderTexture), рисую на нём, созданный рисунок помещается в объект HTMLImageElement.
Вопрос в том как его сохранить на свой компьютер в формате .PNG

var rt = this.add.renderTexture(10, 10, 700, 500);
rt.fill(0x00FF00);
rt.snapshot(callback);

function callback(imageElement) // imageElement - это HTMLImageElement
{
	console.log('snapshot()');

	console.log('Link ' +imageElement.src);

     // Что тут нужно сделать?
}

voraa 09.02.2025 19:38

var rt = this.add.renderTexture(10, 10, 700, 500);
rt.fill(0x00FF00);
rt.snapshot(callback);

function callback(imageElement) // imageElement - это HTMLImageElement
{
	console.log('snapshot()');

	console.log('Link ' +imageElement.src);

     // Что тут нужно сделать?

	const canvas = document.createElement('canvas');
	const ctx = canvas.getContext('2d');
	canvas.height = imageElement.naturalHeight;
	canvas.width = imageElement.naturalWidth;
	ctx.drawImage(imageElement, 0, 0);
	const dataurl = canvas.toDataURL('image/png', 1);

	const anchor = document.createElement('a');
	anchor.href = dataurl;
	anchor.download = 'img.png';
	anchor.type = 'image/png'
	anchor.click();
}

REAB 12.02.2025 21:22

Большое спасибо!)


Часовой пояс GMT +3, время: 23:37.