Создание и наложение рисунков с частично прозрачными изображениями; на лету для веб-страницы - PullRequest
0 голосов
/ 16 августа 2011

Приложение имеет сходство с этой страницей, лучшим примером является стиль ленты "matrix hoop":

http://www.troohoops.com/products/decorator.php

Разница в том, что в этом примере используются файлы gif, которые уже были нарисованы вручную, для представления каждой комбинации стиля ленты и образца. Мое приложение требует, чтобы слои создавались на лету, потому что я буду иметь дело с гораздо большим количеством таких стилей ленты, а не с пятью, и, возможно, с большим количеством образцов; и потому что новые стили ленты будут добавлены в систему ad hoc, поэтому веб-оператору не нужно рисовать десятки изображений для представления комбинации стиля / образца каждый раз, когда стиль добавляется в систему.

У меня есть несколько идей:

  1. с использованием CSS и масок изображений и / или z-индексов ... но это, кажется, не в состоянии должным образом обрабатывать прозрачность

  2. создание флэш-приложения ... но это неизвестно, так как у меня нет опыта флеш-программирования, но я бы хотел узнать, жизнеспособно ли оно

  3. определение областей полигональных изображений с использованием отображения изображений XHTML в качестве слоев с индексами z и заполненных повторяющимися миниатюрами образцов ... но, опять же, это выше моего понимания

  4. с использованием библиотеки изображений, которая может обрабатывать слои стилей в виде файлов .svg и заполнять векторные области образцами в виде файлов .gif

У меня нет доказательств того, что любая из этих идей работает.

Предполагается, что слои стилей могут быть созданы с использованием программного обеспечения, такого как The Gimp, или другого подходящего программного обеспечения для редактирования изображений.

Моему приложению также необходимо создать снимок изображения выбранного стиля / образцов в формате jpeg, gif или png; если для этого требуется другая технология, то это приемлемо.

Окончательное решение также позволит выбирать из списка стилей и образцов таким же образом, как приведенная выше ссылка.

Решение будет работать на веб-сайте на основе PHP / MySQL, но для решения не требуется использовать PHP / MySQL.

Просто чтобы прояснить основной вопрос, логика будет выглядеть примерно так:

  1. Возьмите квадратный эскиз с фиксированным размером. То есть образец.

  2. Возьмите контур неправильной формы. То есть один слой в виде ленты.

  3. Заполните неправильную форму изображением эскиза, где миниатюра повторяется по вертикали и горизонтали, не пересекая контур неправильной формы и не оставляя ни одной неправильной формы незаполненной. То есть заполните слой стиля ленты образцом.

  4. Повторите этот процесс для пяти слоев, но сложите слои друг над другом так, чтобы нижние слои были видны там, где есть прозрачные незаполненные области более высоких слоев.

  5. Создание плоского снимка всех слоев в виде файла JPEG, GIF или PNG.

Существует эквивалент коробки пива, которую можно взять за набросок решения, предлагаемого в форме платежа PayPal; подлежит погашению при выявлении жизнеспособной технологии.

...