|
|
|
| Привет. Кто-то сталкивался с такой задачей. надо нарезать с помощью php изображения на куски разного размера.
Например у нас прямоугольный рисунок 300 на 100 px. Нам надо получить на выходе 3 картинки того во же формата. Если число кол-во кусков стоит 3.. Если 4 то соответственно 4 куска.
pS:Просто с лева направо резать.
Огромное спасибо! | |
|
|
|
|
|
|
|
для: AlexDIXI
(15.08.2012 в 23:50)
| | Как это из куска 300х100 получить 3 куска 300х100? Зачем тогда резать? | |
|
|
|
|
|
|
|
для: confirm
(16.08.2012 в 00:01)
| | 300 разделить на кол-во кусков. Узнаем кол-во px каждого куска. И делим рисунок на 3 куска. | |
|
|
|
|
|
|
|
для: AlexDIXI
(16.08.2012 в 00:15)
| | А чего вы пишите тогда - "такого же формата"? Это как с "соседним цветом"?
Количество кусков по какой стороне? Вот пример деления изображения на 3 равные части по X и Y, то есть получается 9 частей.
<?
$im = imagecreatefromjpeg('image.jpg');
$W = imagesx($im);
$H = imagesy($im);
$part = 3;
$w = (int)($W/$part);
$h = (int)($H/$part);
for($i=0,$k=$part*$part;$i<$k;$i++) {
$dst = imagecreatetruecolor($w,$h);
$x = $w*($i%$part);
if(!($i%$part)) $y = $h*($i/$part);
imagecopy($dst, $im, 0, 0, $x, $y, $w, $h);
imagejpeg($dst,'part-'.$i.'.jpg');
}
imagedestroy($im);
imagedestroy($dst);
| Если ваши три куска это по ширине, то какой должна быть высота, ну или наоборот? Такой как и у исходника? | |
|
|
|
|
|
|
|
для: confirm
(16.08.2012 в 00:24)
| | Спасибо большое. Не разрешения а формата, формат это .jpg, png и т.д. | |
|
|
|
|
|
|
|
для: AlexDIXI
(16.08.2012 в 10:14)
| | А немогли бы сделать переменную куда можно задавать кол-во кусков, а то нарезается 9 кусков. И нарезка что бы шла, слева на право зеброобразно.
Пример нарезки на 4 куска: http://www.imgjoe.com/x/gfggfg.jpg | |
|
|
|
|
|
|
|
для: AlexDIXI
(16.08.2012 в 10:41)
| | Наивный я, ожидаю пояснения ваших значений, а вы сами их не понимаете.
В коде разве не указывается такая переменная? Ее имя $part.
Чтобы резать только по горизонтали, достаточно убрать из этого кода проход по вертикали, и указывать высоту от исходника. Вот и получиться не $part*$part, а просто $part кусочков.
<?
$im = imagecreatefromjpeg('image.jpg');
$W = imagesx($im);
$H = imagesy($im);
$part = 3;
$w = (int)($W/$part);
for($i=0, $k=$w*$part; $i<$k; $i+=$w) {
$dst = imagecreatetruecolor($w,$H);
imagecopy($dst, $im, 0, 0, $i, 0, $w, $H);
imagejpeg($dst,'part-'.$i.'.jpg');
}
imagedestroy($im);
imagedestroy($dst);
| Что касается формата изображения, то определяйте его, и используйте соответствующие функции. | |
|
|
|
|
|
|
|
для: confirm
(16.08.2012 в 12:57)
| | Спасибо вам огромное, за ваш труд! | |
|
|
|
|
|
|
|
для: confirm
(16.08.2012 в 12:57)
| | Помогите пожалуйста написать скрипт для нарезки фото на части и с последующей загрузкой архива с нарезанными фото. Я не программист, нужно для себя.
Спасибо. | |
|
|
|
|
|
|
|
для: sm0708
(15.02.2016 в 12:05)
| | . | |
|
|
|
|
|
|
|
для: confirm
(15.02.2016 в 12:53)
| | ? | |
|
|
|
|
|
|
|
для: sm0708
(15.02.2016 в 12:59)
| | Не плодите дубликаты тем? | |
|
|
|
|
|
|
|
для: confirm
(15.02.2016 в 13:29)
| | Извините, не буду. Если не трудно, помогите написать тот скрипт. | |
|
|
|
|
|
|
|
для: confirm
(16.08.2012 в 00:24)
| | confirm - Молодцом.
все ответы всегда по делу )) | |
|
|
|
|
|
|
|
для: Jaroslav
(16.08.2012 в 15:45)
| | Человеку молодцом, но вредный =)) | |
|
|
|