diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index 33a4ad2..0e88d4d 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -9,7 +9,7 @@ let minZoom = 1; let restrictPosition = true; let showGrid = false; - let croppedImage = null; // хранение вырезанного изображения + let croppedImage = null; let image: string; let incorrectImage: string; @@ -18,7 +18,6 @@ let isDragging: boolean = false; let isModalOpen: boolean = false; - // Проверка и загрузка изображения async function validateAndLoadImage(file: File): Promise { error = ""; const img = new Image(); @@ -38,11 +37,10 @@ reader.readAsDataURL(file); } - // Обработка Drag and Drop function handleDrop(e: DragEvent): void { e.preventDefault(); isDragging = false; - const file = (e.dataTransfer as DataTransfer).files[0]; // Explicitly casting to DataTransfer + const file = (e.dataTransfer as DataTransfer).files[0]; if (file && file.type.startsWith("image/")) { validateAndLoadImage(file); } @@ -62,35 +60,25 @@ let node = document.getElementById("result"); - // Убираем лишние стили if (node) { domtoimage .toPng(node, { style: { - border: "none", // Убираем рамки - padding: "0", // Убираем отступы - margin: "0", // Убираем маргины - outline: "none", // Убираем outline + border: "none", + padding: "0", + margin: "0", + outline: "none", }, }) .then((dataUrl: string) => { var link = document.createElement("a"); link.download = "avatar.png"; link.href = dataUrl; - link.click(); // Скачать изображение + link.click(); }); } } - const openModal = (): void => { - isModalOpen = true; - }; - - // Закрыть модальное окно - const closeModal = (): void => { - isModalOpen = false; - }; - function cropImage(x: number, y: number, width: number, height: number) { const img = new Image(); img.src = incorrectImage; @@ -101,10 +89,8 @@ canvas.width = 512; canvas.height = 512; - // Обрезаем изображение с помощью canvas ctx.drawImage(img, x, y, width, height, 0, 0, 512, 512); - // Получаем обрезанное изображение в формате base64 croppedImage = canvas.toDataURL("image/png"); }; } @@ -115,7 +101,7 @@ }; function saveToMainImage() { - image = croppedImage; // Ссылка на обрезанное изображение + image = croppedImage; isModalOpen = false; } @@ -140,16 +126,16 @@ {:else}
{#if image} -
- - +
+ + + + + + + + {#if text} -
-

- {text} -

-
+ + + + + + + + {text} + + + {text} + {/if} +
{/if} @@ -208,12 +206,10 @@ />
- {#if error}

{error}

{/if} -
{/if}
+ +