Seamless Pattern Maker: Тайлы и Повторения
Загрузите тайловое изображение и просматривайте бесшовные узоры с масштабом, вращением, отступами и 4 режимами. Экспорт PNG.
Что такое Seamless Pattern Maker?
Seamless Pattern Maker берёт одно тайловое изображение и рендерит его на настраиваемом холсте для предпросмотра и экспорта бесшовного тайлового узора. Вы управляете масштабом, вращением, отступами и выбираете из четырёх режимов тайлинга — обычная сетка, смещение полукирпич, диагональ и зеркальный — чтобы точно увидеть, как тайл будет выглядеть при повторении. После подбора нужного результата экспортируйте его как большое PNG-изображение или скопируйте готовый CSS-фрагмент background-image. Вся обработка происходит локально в браузере без загрузки файлов на сервер.
Основные возможности
- Загрузка тайла перетаскиванием или кликом: Область загрузки принимает перетаскивание и клик для выбора файла. Файлы размером более 10 МБ отклоняются с сообщением об ошибке. Размеры загруженного тайла отображаются под миниатюрой предпросмотра.
- Предпросмотр бесшовного тайлинга в реальном времени: При каждом изменении настройки холст немедленно перерисовывается. Холст рендерит достаточно тайлов, чтобы заполнить всю область предпросмотра, включая дополнительные тайлы по краям для компенсации переполнения при вращении.
- Настраиваемый масштаб тайла (5–400 %): Ползунок с шагом 5 % масштабирует тайл вверх или вниз относительно его исходных пиксельных размеров. При 100 % тайл рендерится в нативном размере.
- Управление вращением (0–360 градусов): Поворачивает каждый тайл вокруг его центральной точки перед отрисовкой. Работает с любым режимом тайлинга.
- Отступы между тайлами: Ползунок от -50 до 50 пикселей управляет отступами. Положительные значения добавляют пространство, заполненное фоновым цветом; отрицательные — накладывают тайлы друг на друга для эффекта слоёв.
- Четыре режима тайлинга: Обычный — стандартная сетка без смещения. Полукирпич — чередующиеся ряды смещены на половину ширины тайла, как кладка кирпича. Полусмещение — чередующиеся столбцы смещены на половину высоты тайла, создавая вертикальный шахматный узор. Зеркальный — чередующиеся столбцы отражаются горизонтально, а чередующиеся ряды — вертикально, создавая симметрию, как в калейдоскопе.
- Настраиваемый размер холста: Поля ширины и высоты принимают значения от 100 до 4096 пикселей. Холст предпросмотра и экспортируемый PNG используют именно эти размеры.
- Экспорт в PNG: Загружает отрендеренный холст как
pattern-[ширина]x[высота].png. - Копирование CSS-фрагмента фона: Создаёт холст из одного тайла и копирует три CSS-свойства в буфер обмена:
background-image,background-repeatиbackground-size.
Как использовать Seamless Pattern Maker
Шаг 1: Загрузите тайловое изображение
Перетащите файл изображения в область загрузки или кликните для выбора файла. Принимается любой формат изображения, поддерживаемый вашим браузером. Размеры тайла отображаются под миниатюрой — например, «64 x 64px». Если вы загружаете файл размером более 10 МБ, инструмент показывает ошибку «Файл слишком большой» и отклоняет его. После успешной загрузки холст предпросмотра немедленно рендерит тайловый узор с настройками по умолчанию.
Хорошие тайловые изображения — это те, которые естественно повторяются без видимых швов: бесшовно тайлируемые текстуры, узоры из иконок, геометрические фигуры или изображения, специально разработанные для тайлинга. Регулярные узоры, такие как шевроны, точки или переплетение ткани, работают особенно хорошо.
Шаг 2: Выберите режим тайлинга
В разделе управления появляются четыре кнопки режимов:
- Обычный: Стандартная сетка, все тайлы выровнены по рядам и столбцам.
- Полукирпич: Нечётные ряды сдвигаются вправо на половину шага тайла (включая отступ) — в точности как стандартный рисунок кирпичной стены.
- Полусмещение: Нечётные столбцы сдвигаются вниз на половину шага тайла, создавая вертикальный шахматный эффект, характерный для обоев и тканевых узоров.
- Зеркальный: Каждый второй столбец отражается по горизонтали (
ctx.scale(-1, 1)), а каждый второй ряд — по вертикали (ctx.scale(1, -1)), создавая симметричные отражения по границам тайлов.
Кликните на каждый режим, чтобы немедленно увидеть эффект на холсте.
Шаг 3: Настройте масштаб, вращение и отступы
Три ползунка детально настраивают тайлинг:
- Масштаб (5–400 %): При 100 % тайл рендерится в естественном пиксельном размере. Увеличьте до 200 %, чтобы тайл выглядел крупно и узор был более заметен; уменьшите до 50 % для плотного микроузора.
- Вращение (0°–360°): Поворачивайте тайлы для создания диагональных полосатых эффектов или добавления динамизма узору. Поворот тайла с полосами на 45° создаёт диагональный полосатый узор.
- Отступы (-50 до 50 px): Положительные значения добавляют расстояние между тайлами, заполненное фоновым цветом. Отрицательные значения накладывают соседние тайлы для эффекта слоёв.
Шаг 4: Настройте размер холста и цвет фона
Введите ширину и высоту выходного холста (от 100 до 4096 px каждая) в два числовых поля. Предпросмотр в реальном времени масштабируется под ваш экран, но реальный холст рендерится в указанных размерах. Для теста фона CSS достаточно 800×600. Для экспорта, пригодного для печати, используйте 2400×2400 и более.
Кликните на образец цвета фона, чтобы выбрать цвет заливки между тайлами и вокруг них.
Шаг 5: Экспортируйте в PNG или скопируйте CSS
Нажмите кнопку PNG, чтобы загрузить отрендеренный холст как pattern-[ширина]x[высота].png. Используйте это изображение как текстуру в дизайнерском программном обеспечении, игровых движках или как элемент <img>.
Нажмите CSS, чтобы скопировать готовый CSS-фрагмент в буфер обмена. Фрагмент рендерит один тайл на отдельный холст и кодирует его как base64-URI данных. Три скопированных свойства:
background-image: url("data:image/png;base64,...");
background-repeat: repeat;
background-size: 72px 72px;
Значения background-size — это масштабированная ширина тайла плюс отступ и масштабированная высота тайла плюс отступ. Вставьте это прямо в вашу таблицу стилей.
Практические примеры
Фон из кирпичного узора для сайта
Загрузите текстуру кирпича 128×64. Выберите режим «Полукирпич», задайте масштаб 100 %, отступ 2 px и цвет фона #2c1810 (тёмно-коричневый раствор). Задайте холст 800×600. Предпросмотр показывает реалистичный кирпичный узор. Скопируйте CSS-фрагмент и вставьте его в правило CSS .hero-section.
Полосатый узор «полусмещение» для баннера
Загрузите тайл с полосами 40×40 (однотонная диагональная полоса на прозрачном фоне, сохранённая как PNG). Выберите «Полусмещение», задайте масштаб 150 %, вращение 45°, отступ 0 px. Полосы в сочетании со смещением «полусмещение» создают плотный, ступенчатый полосатый узор. Экспортируйте как PNG 1200×400 для баннерного фона.
Тайл-калейдоскоп для дизайна печати
Загрузите геометрический тайл 100×100 с цветным узором в одном квадранте. Выберите «Зеркальный», масштаб 100 %, вращение 0°, отступ 0 px. Зеркальный режим отражает тайл горизонтально и вертикально в единице повторения 2×2. Экспортируйте при 2400×2400 для высококачественного узора, пригодного для печати.
CSS-фоновый узор для компонента карточки
Загрузите маленький тайл с точечной текстурой (PNG 32×32). Выберите «Обычный», масштаб 75 %, отступ 6 px, фон #f8f8f8. Холст 400×400. Скопируйте CSS-фрагмент. В вашей таблице стилей:
.card-background {
background-image: url("data:image/png;base64,...");
background-repeat: repeat;
background-size: 30px 30px;
}
Точки бесшовно повторяются по всей карточке независимо от её размера.
Советы и лучшие практики
Используйте тайлы, специально разработанные для бесшовного тайлинга. Инструмент рендерит любой тайл, который вы предоставляете; он не делает тайлы автоматически бесшовными по краям. Если у вашего тайла есть контент, который не совпадает по границам, вы увидите заметные линии швов.
Зеркальный режим устраняет заметные повторения. Даже не бесшовные тайлы зачастую выглядят приемлемо в зеркальном режиме, поскольку отражения скрывают края. Попробуйте зеркальный режим первым, если ваш тайл не предназначен для тайлинга.
Вращение добавляет краевые тайлы на холст. Инструмент вычисляет поле, равное 2 × Math.max(шир.тайла, выс.тайла), и рендерит тайлы за пределами границ холста, чтобы заполнить пустоты от вращения.
CSS-фрагмент использует URL данных одного тайла. CSS-экспорт создаёт новый холст размером (шир.тайла + отступ) × (выс.тайла + отступ) для фрагмента. Это поддерживает URL данных небольшим и позволяет браузеру нативно обрабатывать бесконечное тайлирование через background-repeat: repeat.
Настройки можно делиться через URL. Инструмент использует useShareableState для кодирования текущих настроек в URL. Поделитесь URL с коллегой — и он увидит вашу точную конфигурацию.
Управление отступами: от -50 до 50 px. Для эффекта затирки положительный отступ 3–8 px с контрастным цветом фона выглядит реалистично. Значения более 20 px создают сильно расставленные тайлы, подходящие для сеток иконок или широко расположенных геометрических узоров.
Распространённые проблемы и устранение неполадок
Ошибка «Файл слишком большой»: Инструмент отклоняет файлы размером более 10 МБ. Сожмите тайловое изображение до менее 10 МБ перед загрузкой.
Ошибка «Недопустимый формат»: Инструмент требует допустимый файл изображения (file.type.startsWith('image/')). Не-изображения будут отклонены.
Узор показывает заметные линии швов: Края тайла не совпадают. Инструмент рендерит любой тайл. Для бесшовного результата используйте изображение, специально разработанное для тайлинга без видимых краёв. Зеркальный режим может частично скрыть не бесшовные края.
Холст выглядит пустым после загрузки: Предпросмотр в реальном времени рендерится только при загруженном тайловом изображении. Если загрузка прошла успешно (миниатюра видна), но холст пуст, попробуйте очистить и загрузить снова.
Toast «Изображение не загружено» при экспорте: Нажатие PNG или CSS без загруженного изображения. Сначала загрузите тайловое изображение.
CSS-фрагмент содержит очень большой URL данных: Холст одного тайла масштабируется пропорционально настройке масштаба. Для производственного CSS лучше сохранить тайл как отдельный файл изображения и ссылаться на него с обычным URL.
Конфиденциальность и безопасность
Seamless Pattern Maker обрабатывает все изображения полностью в вашем браузере. Тайловые изображения загружаются с помощью FileReader API и хранятся как данные в памяти. Все операции холста (рисование, масштабирование, вращение, отражение) используют Canvas 2D API браузера без связи с сервером. CSS-экспорт копирует данные только в локальный буфер обмена. Инструмент работает офлайн после первой загрузки страницы.
Часто задаваемые вопросы
Является ли Seamless Pattern Maker бесплатным? Да, полностью бесплатным. Все четыре режима тайлинга, все элементы управления, экспорт PNG и копирование CSS доступны без оплаты и без учётной записи.
Работает ли Seamless Pattern Maker офлайн? Да. После первоначальной загрузки страницы весь рендеринг использует Canvas 2D API в вашем браузере. Во время создания или экспорта узора сетевые запросы не делаются.
Безопасны ли мои данные в Seamless Pattern Maker? Ваши тайловые изображения никогда не покидают ваше устройство. FileReader API загружает их в локальную память браузера, и вся обработка и экспорт выполняются на стороне клиента.
Какие форматы изображений можно использовать в качестве тайлов? Любой формат изображения, нативно поддерживаемый вашим браузером: JPEG, PNG, WebP, GIF, SVG (как элемент изображения) и в новых браузерах AVIF и HEIC. Анимированные GIF будут использовать только первый кадр.
Каков максимальный размер файла тайла? Инструмент ограничивает размер файла до 10 МБ. Файлы более 10 МБ вызовут ошибку «Файл слишком большой» и будут отклонены.
Как работает режим тайлинга «полукирпич»? В режиме «полукирпич» каждый нечётный ряд (индекс ряда % 2 === 1) сдвигает свою начальную позицию X вправо на stepX / 2. Это создаёт классический рисунок кирпичной кладки со смещёнными горизонтальными швами.
Как работает режим тайлинга «зеркальный»? Отражение применяется к каждому тайлу при рендеринге холста. Для каждого тайла инструмент проверяет, нечётный ли индекс его столбца (отразить по горизонтали) и нечётный ли индекс его ряда (отразить по вертикали). Перед отрисовкой тайла применяется ctx.scale(-1, 1) и/или ctx.scale(1, -1), а после — состояние холста восстанавливается.
Можно ли использовать CSS-фрагмент в производстве? Можно, но для производства отдельный файл изображения обычно предпочтительнее. Встроенные URL данных в CSS не могут кешироваться браузером независимо, увеличивают размер таблицы стилей и их сложно обновлять.
Как вращение влияет на сетку тайлов? Вращение применяется к каждому тайлу индивидуально с помощью ctx.save(), ctx.translate(), ctx.rotate() и ctx.restore(). Сама сетка тайлов не вращается — поворачивается только изображение тайла внутри каждой позиции.
Можно ли сохранить настройки узора? Да. Настройки автоматически кодируются в URL через useShareableState, поэтому добавление URL в закладки или его публикация сохраняет текущую конфигурацию. Премиум-поддерживатели также могут сохранять именованные пресеты для масштаба, вращения, отступов, размеров холста, цвета фона и режима тайлинга.
Связанные инструменты
- Скоро: SVG Pattern Generator — Создавайте масштабируемые векторные узоры программно без исходного тайлового изображения.
- Скоро: Placeholder Generator — Создавайте плоские цветные изображения-заполнители как быстрые тайловые входные данные для тестирования создателя узоров.
- Скоро: Noise Texture — Создавайте процедурные текстуры шума, отлично подходящие в качестве бесшовных тайловых входных данных.
- Скоро: Image Effects — Применяйте фильтры к тайловому изображению перед использованием его в качестве входных данных для создателя узоров.
Попробуйте Seamless Pattern Maker прямо сейчас: Glyph Widgets Seamless Pattern Maker