Вход Регистрация
* DaNzO

. генирация граддиентов ll

  1. <?php
  2. //определяем тип: вертикальный или
  3. горизонтальный
  4. $type = (isset($_GET['type']) && $_GET['type']
  5. ==
  6. 'g') ? 'g' : 'v';
  7. //определяем высоту
  8. $height = (isset($_GET['h'])) ? abs((int)$_GET
  9. ['h']) : 100;
  10. //определяем ширину
  11. $width = (isset($_GET['w'])) ? abs((int)$_GET
  12. ['w']) : 60;
  13. //определяем цвета
  14. $start = (isset($_GET['s']) && preg_match('#
  15. [0-9A-F]{6}#',$_GET['s'])) ? $_GET['s'] :
  16. '000000';
  17. $end = (isset($_GET['e']) && preg_match('#
  18. [0-9A-
  19. F]{6}#',$_GET['e'])) ? $_GET['e'] : 'FFFFFF';
  20. //определяем RGB этих цветов
  21. $start_r= hexdec(substr($start, 0, 2));
  22. $start_g = hexdec(substr($start, 2, 2));
  23. $start_b = hexdec(substr($start, 4, 2));
  24. $end_r = hexdec(substr($end, 0, 2));
  25. $end_g = hexdec(substr($end, 2, 2));
  26. $end_b = hexdec(substr($end, 4, 2));
  27. //создаём картинку
  28. $image = imagecreate($width, $height);
  29. //определяем тип и рисуем градиент
  30. if($type == 'g'){
  31. for($x=0; $x<$width; $x++){
  32. $new_r = $start_r - intval(($start_r - $end_r)
  33. /
  34. $width * $x);
  35. $new_g = $start_g - intval(($start_g - $end_
  36. g) /
  37. $width * $x);
  38. $new_b = $start_b - intval(($start_b - $end_
  39. b) /
  40. $width * $x);
  41. $row_color = imagecolorresolve($image, $
  42. new_r,
  43. $new_g, $new_b);
  44. imageline($image, $x, 0, $x, $height, $row_
  45. color);
  46. }
  47. }else{
  48. for($y=0; $y<$height; $y++){
  49. $new_r = $start_r - intval(($start_r - $end_r)
  50. /
  51. $height * $y);
  52. $new_g = $start_g - intval(($start_g - $end_
  53. g) /
  54. $height * $y);
  55. $new_b = $start_b - intval(($start_b - $end_
  56. b) /
  57. $height * $y);
  58. $row_color = imagecolorresolve($image, $
  59. new_r,
  60. $new_g, $new_b);
  61. imageline($image, 0, $y, $width, $y, $row_
  62. color);
  63. }
  64. }
  65. header('Content-type: image/png');
  66. imagepng($image);
  67. imagedestroy($image);
  68. //вот и всё :)
  69. ?>
» Описание: Создаём файл и туда лепим этот
код. Для
примера файл называется gradient.php.
Переходим по ссылке ти
» Время добавления: 1 Ноября 2014 в 12:19
» Посмотров: 553
» textarea
» Рейтинг: [+0 | -0]
Комментарии [0]
Онлайн: 11
Реклама