BFO
Новичок
imagecopyresampled
Добрый день!
Нигде в наших интернетах не могу найти нормального описания этой функции.
Задача из любого jpg сделать набор превьюшек разных размеров и сохранить их.
Действия мои такие (на примере создания превьюшки 800х600 из 2000x1000):
1. Определяю размеры оригинала
2. определяю горизонтальное или вертикальное изображение
3. (горизонтальное) нахожу ширину если высоту сделать 600 (600*2000/1000)=1200
4. определяю, что надо по оси Х убрать (1200-800)=400/2=200пикс слева и справа.
5. создаю холст 800х600
6. создаю холст с нашим оригиналом (2000х1000)
7. imagecopyresized(???????) или imagecopyresampled()
Методом тыка что-то получилось приближенное, но хотелось бы подробнее про синтаксис этой функции
Картинки как режется, так и немного сжимается (вытягивается)
на сколько я понял:
bool imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
resource dst_image - новый холст 800х600
resource src_image - холст с оригинальным изображением
int dst_x - лево холста куда копируем (0)
int dst_y - верх холста куда копируем (0)
int src_x - лево нашего холста (0)
int src_y - верх нашего холста (200)
int dst_w - ширина холста куда копируем (800)
int dst_h - высота холста куда копируем (600)
int src_w - ширина нашего оригинала (800) - сколько пикселей резать по ширине
int src_h - высота нашего оригинала (600) - сколько пикселей резать по высоте с 200 пикселя.
Всё правильно?
Вобщем совсем запутался =(
Спасибо.
Добрый день!
Нигде в наших интернетах не могу найти нормального описания этой функции.
Задача из любого jpg сделать набор превьюшек разных размеров и сохранить их.
Действия мои такие (на примере создания превьюшки 800х600 из 2000x1000):
1. Определяю размеры оригинала
2. определяю горизонтальное или вертикальное изображение
3. (горизонтальное) нахожу ширину если высоту сделать 600 (600*2000/1000)=1200
4. определяю, что надо по оси Х убрать (1200-800)=400/2=200пикс слева и справа.
5. создаю холст 800х600
6. создаю холст с нашим оригиналом (2000х1000)
7. imagecopyresized(???????) или imagecopyresampled()
Методом тыка что-то получилось приближенное, но хотелось бы подробнее про синтаксис этой функции
PHP:
imagecopyresampled($new_canvas,$old_canvas,0,0,200,0,800,600,$x-400;
на сколько я понял:
bool imagecopyresized ( resource dst_image, resource src_image, int dst_x, int dst_y, int src_x, int src_y, int dst_w, int dst_h, int src_w, int src_h )
resource dst_image - новый холст 800х600
resource src_image - холст с оригинальным изображением
int dst_x - лево холста куда копируем (0)
int dst_y - верх холста куда копируем (0)
int src_x - лево нашего холста (0)
int src_y - верх нашего холста (200)
int dst_w - ширина холста куда копируем (800)
int dst_h - высота холста куда копируем (600)
int src_w - ширина нашего оригинала (800) - сколько пикселей резать по ширине
int src_h - высота нашего оригинала (600) - сколько пикселей резать по высоте с 200 пикселя.
Всё правильно?
Вобщем совсем запутался =(
Спасибо.