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

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

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