PHP - маска многоугольника над изображением - PullRequest
4 голосов
/ 09 октября 2009

Привет всем (это мой первый пост),

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

  • Изменение размера изображения в соответствии с шириной и высотой формы многоугольника,
  • Создание пустого изображения необычного цвета того же размера,
  • Наложение прозрачных пикселей в форме многоугольника,
  • Наложение на изображение с измененным размером
  • Установите необычный цвет на прозрачный ...

Моя проблема в том, что я не хочу, чтобы код зависел от необычного цвета, которого нет в исходном изображении. У кого-нибудь есть лучший метод или какой-нибудь код, который я могу использовать, чтобы проверить, присутствует ли необычный цвет на изображении.

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

Ответы [ 2 ]

4 голосов
/ 11 октября 2009

Если вы рисуете многоугольник черно-белым цветом (и значениями между ними) на другом изображении (называемом маской), вы можете использовать applyMask из библиотеки WideImage.

См: - http://wideimage.sourceforge.net/ - http://wideimage.sourceforge.net/wp-content/current/demo/index.php?demo=applyMask&output=preset%20for%20demo&colors=255&dither=&match_palette=

0 голосов
/ 09 октября 2009

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

...