Помощник
|
разбитие картинки на блоке |
cyber_ua
|
Сообщение
#1
|
||
|
|
||
|
|||
Witu |
21.8.2012, 7:00;
Ответить: Witu
Сообщение
#2
|
|
ну тут как бы все просто
определяем высоту (H) и ширину(W) исходной картинки делим H на 256 получаем fH и так же делим W на 256 и получаем fW приводим к целому числу (мы получили кол-во картинок на которые нужно разбить по высоте и ширине) дальше идет цикл for ($i = 1; $i <= fW; $i++) и в нем еще несколько циклов (думай сам зачем) функцией imagecolorat определяем текущий цвет пикселя на большой картинке функцией imagecolorset устанавливаем этот же пиксель на картинке 256 * 256 PS логика думаю понятна но большая часть функций опущена |
|
|
cyber_ua
|
Сообщение
#3
|
|
проблема в том что алгоритм я и сам понял, у меня проблемы с кодом=(
не хрена не получается |
|
|
cyber_ua
|
Сообщение
#4
|
|
я не пойму как функцией резать картинки и как и потом сохранить картинку что бы каждый раз ее не разрезать?
|
|
|
Witu |
21.8.2012, 12:37;
Ответить: Witu
Сообщение
#5
|
|
ну так покажите что есть
|
|
|
cyber_ua
|
Сообщение
#6
|
|
ну тут как бы все просто определяем высоту (H) и ширину(W) исходной картинки делим H на 256 получаем fH и так же делим W на 256 и получаем fW приводим к целому числу (мы получили кол-во картинок на которые нужно разбить по высоте и ширине) дальше идет цикл for ($i = 1; $i <= fW; $i++) и в нем еще несколько циклов (думай сам зачем) функцией imagecolorat определяем текущий цвет пикселя на большой картинке функцией imagecolorset устанавливаем этот же пиксель на картинке 256 * 256 PS логика думаю понятна но большая часть функций опущена стоп, чет я не совсем понял, зачем брать цвет пикселя и устанавливать его на картинке? |
|
|
cyber_ua
|
Сообщение
#7
|
|
|
|
|
Witu |
22.8.2012, 7:07;
Ответить: Witu
Сообщение
#8
|
|
это первый алгоритм который пришел мне в голову
но потом я понял что проще через imagecopyresampled |
|
|
r3ntg3n |
22.8.2012, 13:56;
Ответить: r3ntg3n
Сообщение
#9
|
|
Обработку прозрачности для PNG не включал, думаю, сами доставите.
[PHP]$filename = 'cover.jpg'; $imgArgs = getimagesize($filename); switch ($imgArgs['mime']) { case 'image/jpeg': $func = 'imagecreatefromjpeg'; break; case 'image/png': $func = 'imagecreatefrompng'; break; case 'images/gif': $func = 'imagecreatefromgif'; break; } $imgSrc = $func($filename); $chunkBasename = pathinfo($filename, PATHINFO_FILENAME); $chunkSize = array( 'x'=>256, 'y'=>256, ); $chunks = array( 'x'=>ceil($imgArgs[0]/$chunkSize['x']), 'y'=>ceil($imgArgs[1]/$chunkSize['y']), ); ?> <style> div.wrapper { width: <?php echo $imgArgs['0']; ?>px; } div.wrapper div { float: left; } </style> <div class="wrapper"> <?php for($i=0; $i<$chunks['y']; $i++) { for($j=0; $j<$chunks['x']; $j++) { $chunkFilename = $chunkBasename.'-'.$j.'-'.$i.'.png'; if (!file_exists($chunkFilename)) { $srcX = $j*$chunkSize['x']; $srcY = $i*$chunkSize['y']; $xSize = $srcX+$chunkSize['x']; $ySize = $srcY+$chunkSize['y']; $xSize = ($xSize > $imgArgs[0]) ? $chunkSize['x']-($xSize-$imgArgs[0]) : $chunkSize['x']; $ySize = ($ySize > $imgArgs[1]) ? $chunkSize['y']-($ySize-$imgArgs[1]) : $chunkSize['y']; $chunkImg = imagecreatetruecolor($xSize,$ySize); imagecopy($chunkImg, $imgSrc, 0, 0, $srcX, $srcY, $xSize, $ySize); imagepng($chunkImg, $chunkFilename); imagedestroy($chunkImg); } echo '<div><img src="'.$chunkFilename.'" width="'.$xSize.'px" height="'.$ySize.'px" /></div>'; } } imagedestroy($imgSrc); ?> </div>[/PHP] На выходе раскладывается вот так: [IMG]http://img846.imageshack.us/img846/5140/screenshotfrom201208221.png[/IMG] |
|
|
cyber_ua
|
Сообщение
#10
|
|
|
спасибо, а то в пхп я ноль пока=(
весь день вчера пробывал..
|
|
|
||
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последний ответ | |
---|---|---|---|---|---|
Кто и зачем покупает картинки обезьян по $200 тысяч? NFT |
167 | metvekot | 27096 | 6.3.2024, 21:58 автор: Boymaster |
|
Выравнивание картинки по центру между текстом | 10 | NikN | 2632 | 6.1.2021, 23:24 автор: buypushplatform |
|
В блоке РСЯ теперь можно показывать видеорекламу - кто пробовал? | 1 | rom_4 | 1550 | 16.4.2020, 12:53 автор: adamsadriane |
|
Нужно добавить картинки на сайт И видео |
2 | Ksardas777 | 4078 | 17.11.2018, 10:41 автор: Intuit89 |
|
Надо поменять картинки кнопки и всё прочее. Сделать круто, чтобы не стыдно за сайт |
0 | atavisma | 2975 | 6.4.2017, 19:04 автор: atavisma |
Текстовая версия | Сейчас: 28.3.2024, 19:58 |