ToolActToolAct

Разделение изображения на сетку

Разрежьте изображение на сетку 3×3 для публикации в соцсетях

Загрузить изображение

Перетащите изображение сюда или нажмите для выбора файла

Поддерживаются форматы JPG, PNG, WebP, BMP, GIF

Что такое разделение изображения на сетку?

Разделитель изображения на сетку нарезает одну картинку на равные плитки, чаще всего на формат 3×3 из девяти изображений для социальных сетей. Если опубликовать части в правильном порядке в Instagram, WeChat Moments, Weibo или похожих сервисах, профиль или лента снова складывает исходную большую композицию. Инструмент полезен для рекламных визуалов, тизеров продуктов, анонсов событий, портфолио и серий, где общий вид важнее отдельного поста. Для хорошего результата нужны подходящее соотношение сторон, запас вокруг текста и лиц, а также точный порядок загрузки. Перед публикацией лучше сохранить все части с понятными именами. Перед публикацией или отправкой нужно открыть результат и проверить читаемость, crop, resolution, порядок и отсутствующие элементы.

Как использовать

Как использовать

  1. Загрузите или перетащите изображение
  2. Инструмент автоматически разрежет его на 9 частей
  3. Нажмите на любую часть, чтобы скачать её отдельно
  4. Нажмите «Скачать все», чтобы сохранить все части сразу

Примечания по обрезке

  • Используйте изображение с нужным итоговым соотношением сторон: автоматическое разделение не восстановит содержимое, которое уже было обрезано или дополнено некорректно.
  • Просмотрите все девять частей перед публикацией, особенно когда текст, лица или края предметов пересекают линии разреза.

Применение

Разделение одного изображения на сетку 3 на 3Загрузите изображение, и страница разрежет его на девять равных PNG-фрагментов через canvas, сохранив порядок строк и столбцов как пронумерованные позиции 1–9. Размеры источника, не делящиеся ровно на 3, будут округлены до целых пикселей, поэтому вход 1081 на 1081 всё равно даст девять PNG 360 на 360 с потерей одного ряда пикселей.
Подготовка тайлов для соцсетей или пазловИспользуйте превью оригинала, размеры и пронумерованный предпросмотр сетки, чтобы убедиться в кадрировании перед скачиванием отдельных фрагментов для постов, игр, рабочих листов или тестов вёрстки. Фрагменты сохраняются в PNG, поэтому размер быстро растёт при фотографическом содержимом — рассмотрите сжатие сетки заранее, если в ленте есть лимит в 10 МБ.
Скачивание фрагментов по одному или последовательноНажмите на ячейку сетки, чтобы скачать этот фрагмент, или скачайте все с небольшой задержкой, чтобы браузер успел обработать каждый сгенерированный файл. Храните исходное изображение, пока пронумерованные фрагменты не будут просмотрены в том порядке, в котором вы планируете их загружать.
Добавление безопасных отступов перед нарезкой для правильного порядка загрузкиОставьте поля внутри исходного изображения, чтобы лица, заголовки или логотипы не попадали точно на границу разреза — одно обрезанное лицо сломает восстановленную сетку в ленте. Несколько пикселей отступа также не дадут платформам вроде Instagram обрезать края до пропорций миниатюры.
Использование пронумерованных имён файлов для сохранения порядка загрузкиСкачивайте фрагменты с сохранёнными именами от 1 до 9 и публикуйте их именно в этом порядке строк и столбцов, ведь перестановка последовательности — самая частая причина перемешанной итоговой сетки. Сортировка скачанной папки по имени файла перед выбором в диалоге загрузки помогает избежать ошибки снизу вверх, ломающей восстановленную ленту.

Технический принцип

Разделитель изображений на сетку построен на HTML5 Canvas 2D API (WHATWG HTML Living Standard §4.12, первоначально определён в рекомендации W3C HTML5 2014 года). Конвейер имеет три уровня: декодирование исходных пикселей в CanvasImageSource, копирование под-прямоугольника этих пикселей в offscreen-холст через 9-аргументную форму drawImage и кодирование offscreen-холста в PNG через canvas.toblob(). Всё происходит во вкладке браузера — никакой загрузки на сервер, никакого удалённого рендеринга. Этап декодирования важнее, чем кажется. Файл из <input type='file'> или перетаскиваемый DataTransferItem читается через FileReader.readAsDataURL (или, в современном коде, URL.createObjectURL) в Blob URL, который браузер передаёт загрузчику Image. Элемент Image срабатывает 'load' после декодирования растрового изображения платформенным кодеком (libpng/libjpeg-turbo/libwebp в Chromium, эквивалент в WebKit/Gecko). Изображение без CORS, загруженное таким образом, считается «загрязнённым» — getImageData выбросил бы SecurityError — поэтому разделитель использует только drawImage и никогда не считывает массивы пикселей, что полностью обходит проблему CORS. Для очень больших изображений (>~8K по длинной стороне) растровое изображение может храниться в памяти GPU в некоторых движках, поэтому canvas.toBlob может проходить через чтение GPU→CPU, что стоит ~30-100 мс на телефоне. Обрезка — это один вызов drawImage на каждый фрагмент: ctx.drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) — первые три пары задают исходный прямоугольник (sx, sy, sw, sh), а вторые три — целевой прямоугольник на целевом холсте. Для разбиения 3x3 фото 1920x1080 исходный прямоугольник каждого фрагмента — 640x360 начиная с (col*640, row*360). Целевой холст имеет размер точно по фрагменту (640x360), затем canvas.toBlob(blob => ..., 'image/png') запускает платформенный PNG-кодировщик. PNG выбран вместо JPEG, потому что фрагменты сетки — это обычно чистые прямоугольные обрезки с чётким текстом и UI-элементами, где важно безпотерьное кодирование; блоки DCT 8x8 в JPEG размазали бы границы. Пакетное скачивание использует URL.createObjectURL для каждого Blob, синтетический клик <a download> и revokeObjectURL после небольшой задержки (обычно 60-120 с, время жизни неиспользуемого Blob URL на платформе). Для 9 фрагментов это запускает 9 событий скачивания подряд; некоторые браузеры ограничивают множественные скачивания с одной вкладки, поэтому страница обычно разделяет их задержкой 50-200 мс между кликами через setTimeout. С точки зрения производительности, узкое место на телефоне обычно — PNG-кодировщик (libpng однопоточный на кодирование), а не drawImage; для 9 фрагментов 1080p ожидается 200-500 мс на среднем Android и 100-200 мс на десктопном Chromium.

  • Конвейер: FileReader или URL.createObjectURL → элемент Image → HTMLCanvasElement → 9-аргументная обрезка drawImage → canvas.toBlob('image/png') → URL.createObjectURL + <a download>.
  • drawImage(img, sx, sy, sw, sh, dx, dy, dw, dh) — перегрузка с 9 аргументами, которая обрезает исходный прямоугольник (sx,sy,sw,sh) в целевой прямоугольник (dx,dy,dw,dh); это единственный вызов API, выполняющий разбиение.
  • Исходные изображения, отданные без CORS-заголовков, загрязняют холст — getImageData выбросил бы SecurityError, поэтому разделитель никогда не считывает массивы пикселей, а только копирует и кодирует.
  • canvas.toBlob — асинхронный и неблокирующий (колбэк срабатывает на следующей микрозадаче) в отличие от устаревшего canvas.toDataURL, который синхронный и замораживает основной поток для больших изображений.
  • Для разбиения N×M на 3×3 каждый фрагмент имеет размер (N/3) × (M/3); неделимые размеры дают остаток в 1 пиксель на правой/нижней границе, обрабатываемый через Math.floor с явным фрагментом-остатком при необходимости.
  • PNG выбран вместо JPEG для фрагментов сетки, потому что каждый фрагмент — это прямоугольная обрезка с чёткими краями (текст, UI, схемы), где блоки DCT 8x8 размазали бы граничные линии.
  • Пакетное скачивание использует URL.createObjectURL для каждого blob + клик <a download>; браузеры ограничивают множественные скачивания с одной вкладки, поэтому страница обычно разделяет клики на 50-200 мс и отзывает Blob URL после клика для освобождения памяти.
  • Узкое производительности — платформенный PNG-кодировщик (libpng однопоточный на кодирование), а не drawImage; 9 фрагментов 1080p выполняются за ~200-500 мс на среднем мобильном и ~100-200 мс на десктопном Chromium.

Примеры

Квадратная нарезка 1:1 (пост Instagram)

Вход:   1080 x 1080 px
Выход:  9 фрагментов 360 x 360 px (сетка 3x3)
Применение: превью каруселей в Instagram, сетка постов в Xiaohongshu

Горизонтальная нарезка 16:9 (превью YouTube)

Вход:   1920 x 1080 px
Выход:  9 фрагментов 640 x 360 px (сетка 3x3)
Применение: A/B-тестирование превью YouTube, варианты баннеров для разных платформ

Вертикальная нарезка 9:16 (TikTok / Reels)

Вход:   1080 x 1920 px
Выход:  9 фрагментов 360 x 640 px (сетка 3x3)
Применение: подбор обложек для коротких видео, превью в стиле stories

Часто задаваемые вопросы

Что делает инструмент «сетка изображений»?

Он разрезает одно изображение на сетку из равных ячеек (например, 3×3 или 2×4), чтобы вы могли публиковать каждую ячейку как отдельную плитку в Instagram-стиле или собрать их в пазл/постер. Каждая ячейка экспортируется как отдельный файл PNG/JPEG.

Загружается ли изображение на сервер?

Нет. Сетка вычисляется полностью в вашем браузере через canvas. Байты изображения никогда не покидают устройство.

Какие размеры сетки поддерживаются?

Распространённые пресеты — 3×3 (большая плитка Instagram), 3×1 (баннер-триптих), 2×2, 4×4, 9×16. Обычно можно задать произвольное число строк и столбцов. Максимум зависит от памяти браузера: очень большие сетки на изображении высокого разрешения могут превысить ограничения canvas.

Как опубликовать плитки в Instagram в правильном порядке?

Сетка Instagram заполняется справа налево, сверху вниз (то есть для 3×3 первый пост идёт в верхний правый угол, а последний — в нижний левый). Страница экспортирует плитки с номерами 1–9 — загружайте их в порядке 9, 8, 7, 6, 5, 4, 3, 2, 1, чтобы получить нужную раскладку. На некоторых страницах есть подсказка по порядку.

Почему мои экспортированные плитки слегка не выровнены?

Размеры исходного изображения должны делиться на размер сетки нацело для чистой нарезки. Страница либо обрезает правый/нижний край, либо масштабирует изображение под размер — проверьте, какой вариант выбран. Если вы монтируете плитки физически, субпиксельные погрешности накапливаются по всей сетке.

Какой формат и разрешение на выходе?

По умолчанию PNG в исходном разрешении. Для Instagram минимум — 1080×1080 пикселей на плитку (источник 4320×4320 для сетки 4×4). Для печати постеров используйте более высокое разрешение источника и удобный для печати формат вроде TIFF, если ваш принтер его поддерживает.

Можно ли добавить отступы между плитками?

В некоторых сборках есть опция «отступ» (gutter), оставляющая белое поле вокруг каждой ячейки и имитирующая тонкие зазоры в сетке Instagram. Подберите ширину отступа под предпросмотр платформы, если хотите, чтобы экранный результат выглядел идентично источнику.

Похожие инструменты

Инструмент сжатия изображений

Бесплатный онлайн-компрессор изображений для JPEG, PNG и WebP. Настраивайте качество и размеры, а локальная обработка в браузере защищает приватность.

Конвертер формата изображений

Бесплатный онлайн-конвертер форматов изображений: JPG, PNG, WebP, BMP и GIF. Настраивайте качество вывода — обработка идёт прямо в вашем браузере.

Инструмент добавления водяного знака

Бесплатный онлайн-инструмент для нанесения водяных знаков на изображения. Добавляйте текст или логотип с настройкой положения, прозрачности и размера.

Инструмент создания фото для документов

Бесплатный онлайн-создатель фото на документы с ИИ-удалением фона. Поддерживает стандарты ЕС (фото для документов ЕС, паспорт ЕС, и т.д.), генерирует стандартные фото на документы в один клик. Локальная обработка в браузере защищает конфиденциальность.

Инструмент преобразования в оттенки серого

Бесплатный онлайн-инструмент для перевода цветных изображений в чёрно-белые. Поддерживает пакетную обработку, всё происходит локально в браузере.

Инструмент преобразования изображений в Base64

Онлайн-инструмент для конвертации изображений в Base64 и обратно с поддержкой перетаскивания, предпросмотром и множеством форматов.