Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: нарезка изображения
 
 автор: AlexDIXI   (15.08.2012 в 23:50)   письмо автору
 
 

Привет. Кто-то сталкивался с такой задачей. надо нарезать с помощью php изображения на куски разного размера.
Например у нас прямоугольный рисунок 300 на 100 px. Нам надо получить на выходе 3 картинки того во же формата. Если число кол-во кусков стоит 3.. Если 4 то соответственно 4 куска.

pS:Просто с лева направо резать.

Огромное спасибо!

  Ответить  
 
 автор: confirm   (16.08.2012 в 00:01)   письмо автору
 
   для: AlexDIXI   (15.08.2012 в 23:50)
 

Как это из куска 300х100 получить 3 куска 300х100? Зачем тогда резать?

  Ответить  
 
 автор: AlexDIXI   (16.08.2012 в 00:15)   письмо автору
 
   для: confirm   (16.08.2012 в 00:01)
 

300 разделить на кол-во кусков. Узнаем кол-во px каждого куска. И делим рисунок на 3 куска.

  Ответить  
 
 автор: confirm   (16.08.2012 в 00:24)   письмо автору
 
   для: 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$im00$x$y$w$h);
   
imagejpeg($dst,'part-'.$i.'.jpg');  
}
imagedestroy($im);
imagedestroy($dst);
Если ваши три куска это по ширине, то какой должна быть высота, ну или наоборот? Такой как и у исходника?

  Ответить  
 
 автор: AlexDIXI   (16.08.2012 в 10:14)   письмо автору
 
   для: confirm   (16.08.2012 в 00:24)
 

Спасибо большое. Не разрешения а формата, формат это .jpg, png и т.д.

  Ответить  
 
 автор: AlexDIXI   (16.08.2012 в 10:41)   письмо автору
 
   для: AlexDIXI   (16.08.2012 в 10:14)
 

А немогли бы сделать переменную куда можно задавать кол-во кусков, а то нарезается 9 кусков. И нарезка что бы шла, слева на право зеброобразно.
Пример нарезки на 4 куска: http://www.imgjoe.com/x/gfggfg.jpg

  Ответить  
 
 автор: confirm   (16.08.2012 в 12:57)   письмо автору
 
   для: 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$im00$i0$w$H);
   
imagejpeg($dst,'part-'.$i.'.jpg');  
}
imagedestroy($im);
imagedestroy($dst);
Что касается формата изображения, то определяйте его, и используйте соответствующие функции.

  Ответить  
 
 автор: AlexDIXI   (16.08.2012 в 14:10)   письмо автору
 
   для: confirm   (16.08.2012 в 12:57)
 

Спасибо вам огромное, за ваш труд!

  Ответить  
 
 автор: sm0708   (15.02.2016 в 12:05)   письмо автору
 
   для: confirm   (16.08.2012 в 12:57)
 

Помогите пожалуйста написать скрипт для нарезки фото на части и с последующей загрузкой архива с нарезанными фото. Я не программист, нужно для себя.
Спасибо.

  Ответить  
 
 автор: confirm   (15.02.2016 в 12:53)   письмо автору
 
   для: sm0708   (15.02.2016 в 12:05)
 

.

  Ответить  
 
 автор: sm0708   (15.02.2016 в 12:59)   письмо автору
 
   для: confirm   (15.02.2016 в 12:53)
 

?

  Ответить  
 
 автор: confirm   (15.02.2016 в 13:29)   письмо автору
 
   для: sm0708   (15.02.2016 в 12:59)
 

Не плодите дубликаты тем?

  Ответить  
 
 автор: sm0708   (15.02.2016 в 13:32)   письмо автору
 
   для: confirm   (15.02.2016 в 13:29)
 

Извините, не буду. Если не трудно, помогите написать тот скрипт.

  Ответить  
 
 автор: Jaroslav   (16.08.2012 в 15:45)   письмо автору
 
   для: confirm   (16.08.2012 в 00:24)
 

confirm - Молодцом.
все ответы всегда по делу ))

  Ответить  
 
 автор: AlexDIXI   (16.08.2012 в 16:49)   письмо автору
 
   для: Jaroslav   (16.08.2012 в 15:45)
 

Человеку молодцом, но вредный =))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования