OneLauncher-Cracked/packages/web_common/src/utils/minecraft.ts
2025-08-18 14:25:59 +02:00

29 lines
683 B
TypeScript

export async function renderHeadToDataUrl(image: HTMLImageElement | string): Promise<string> {
return new Promise((resolve) => {
let img: CanvasImageSource;
if (typeof image === 'string') {
img = new Image();
img.crossOrigin = 'anonymous';
img.src = image;
}
else {
img = image;
}
img.onload = () => {
const canvas = document.createElement('canvas');
const ctx = canvas.getContext('2d')!;
canvas.width = 8;
canvas.height = 8;
// Base head (8x8 from (8,8))
ctx.drawImage(img, 8, 8, 8, 8, 0, 0, 8, 8);
// Overlay (8x8 from (40,8))
ctx.drawImage(img, 40, 8, 8, 8, 0, 0, 8, 8);
resolve(canvas.toDataURL('image/png'));
};
});
}