PHP обработка изображений

Бюджет: 3 000 руб
38.58 $ – 33.84 €
Нужен специалист хорошо знающий PHP ImageMagic или GDLib

Нужно сделать небольшую PHP библиотеку/скрипт которая умеет делать следующее.

На входе получает в виде 

$_REQUEST['image'] =

Вариант 1) base64 png или jpeg изображение

Вариант 2) url изображения + параметры

Вариант 3) путь к изображению на хостинге

Должен по виду входных параметров сам определять откуда брать изображение

+ параметры

$_REQUEST['background'] – задается цвет фона в ввидe rgba()  – важно, что rgba(xx,xx,xx,0) = rgba(yy,yy,yy,0) – хотя с точки зрения GD это не так


1) Предполагается что изображение выглядит примерно вот таким образом: gyazo.com/dacf254a3579b2f...

Его надо нарезать на прямоугольные элементы.

Важно учитывать вот такие варианты: gyazo.com/7186032cb4751f7...

Т.е. такое изображение надо нарезать на два отдельных. 

Если изображения "разорваны" фоновым цветом – их надо делать как отдельные, если перекрываются – вот так 
gyazo.com/668bf7d3aee32cd...
- то это одно изображение 

После нарезки на выходе должны получаться следующие данные:

Вывод регулируется параметрами (основное сохраняются изображения или возвращаются в base64

[
{
image : url/to/image1, <- изображение сохраняется 
left: положение относительно левого верхнего угла исходного
top:
width:
height:
},
{
image: fwpoefwpjvlkvdfvwe  <- если изображение encode,
left: положение относительно левого верхнего угла исходного
top:
width:
height:
}
]

2) Для каждого из этих нарезанных изображений необходимо определять является ли оно одноцветным,  или с одноцветной обводкой т.е. вот таким:

gyazo.com/87be3fb2e785e3a...

ну или соответственно без обводки, но прямоугольным и одноцветным.

Для таких изображений необходимо возвращать json вот такого вида:

ну т.е. как CSS 

{
left:
top:
width:
height:
background-color:
border-color:
}

Равномерность цвета... также необходимо предусмотреть возможность задания параметра неравномерности в %... т.е. допустим белый может быть не 255,255,255 а с некоторыми вариациями в заданных пределах

3) Фон изображения задается как отдельная запись в виде 


{
left: 0
top: 0
width:
height:
background-color:
border-color:
}


В отношении производительности – придется попиксельно анализировать довольно большие изображения, чтобы скрипт не умирал по timeout – пользуйтесь масштабированием, анализом по частям, итераторами и т.п. т.е. это не консольный скрипт надо чтобы его можно было запустить из обычного браузера предел timeout 10 сек.

Все алгоритмы оформить в виде библиотеки с комментариями или понятными названиями функций.

Это на самом деле начало большого проекта, если все получится – продолжим сотрудничество.

Опубликован 04.04.2016 в 16:49 Последнее изменение: 05.04.2016 в 10:30

Выберите способ верификации:

Обновите страницу после прохождения верификации.