Честно говоря, просто запутался. Надо сделать функцию, которая:
1. Получает имя изображения и проверяет, не больше ли оно по любой из сторон 800 пикселей. Если больше, то пропорционально уменьшает его так, что длинная сторона была 800. Соответственно имя нового изображения получает суффикс "-g".
2. Если обе стороны меньше, то проверяет, чтоб длинная сторона была больше 200 пикселей. Если обе стороны меньше - то к имени исходного изображения добавить "-g" и создать копию, к имени которой добавить "-k".
3. Если был выполнен первый пункт или во втором пункте выяснилось, что размеры лежат между 800 и 200, то создается превью с размером длинной стороны 200 пикселей. Превью получает имя исходного изображения, но с добавкой в конце "-k".
4. Функция должна корректно работать с изображениями форматов jpg, gif и png.
5. Исходное изображение должно по окончанию работы удаляться вообще, чтоб не занимать место. Само собой, все картинки лежат в одной папке, там же должны создаваться и все новые изображения.
Т.е. в итоге должно получиться следующее:
если исходное изображение имеет имя name.jpg, то после работы функции это изображение должно быть удалено, а в той же папке должны появиться два изображения с именами name-g.jpg и name-k.jpg (от немецкого gross и klein, большое и маленькое). Большое должно быть размером не более 800 пикселей по длинной стороне, маленькое - 200. Вообще-то замечание о том, что исходное изображение может быть меньше 200 пикселей по длинной стороне - нереальность, но как защита от дурака должно быть по идее предусмотрено.
Вроде каждый пункт по отдельности не представляет большой сложности, все хорошо расписано в мануалах, да и примеров в сети хватает. Но все вместе и именно в таком варианте - не хватает мозгов собрать в кучу...
Очень прошу помочь специалистов. Очень. Заранее благодарен.
1. Schupp - 14 Августа, 2011 - 03:47:17 - перейти к сообщению