GD функция горизонтального поворота картинки
Понадобилось повернуть картинку, а точнее отобразить сверху вниз. Полез в гугл и не нашел 🙂 Очень удивился ведь она совсем не сложная, и вроде как востребованная...
Скорость её работы мне не сильно нужна была, поэтому использовал школьный алгоритм поворота массива:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
<?php ini_set('memory_limit', 128 * 1024 * 1024); function rgb($rgb) { $r = ($rgb >> 16) & 255; $g = ($rgb >> 8) & 255; $b = $rgb & 255; return array($r,$g,$b); } function rotate($file, $quality=60, $filename='') { $ret=false; if (function_exists('imagecreatefromjpeg') && ($im = imagecreatefromjpeg($file))) { $wx = imagesx($im); $wy=imagesy($im); $ret = imagecreatetruecolor($wx,$wy); for ($x=0;$x<$wx; $x++) for ($y=0;$y<$wy; $y++) { $rgb = rgb(imagecolorat($im, $x,$wy-1-$y)); $rgb = imagecolorallocate($ret, $rgb[0], $rgb[1], $rgb[2]); imagesetpixel($ret, $x, $y, $rgb); } imagestring($ret, 2, 2, 1, 'sfield.org.ua', imagecolorallocate($ret, 25, 25, 25)); } if(!$filename) header("Content-type: image/jpeg"); if (function_exists('imagejpeg')) imagejpeg($ret, $filename, $quality); } rotate('image.jpg',60); ?> |
На выходе получаем картинку отраженную по вертикали. Для горизонтали (поворота слева направо) думаю не составит сложности переделать 😉
Author: | Tags: /
| Rating:
Leave a Reply