Webmaster общности: Predpriemach.com | SearchEngines.bg

    Цветове и текст в GD Library

    Автор: adrian

    Предишният урок:
    Създаване на изображение с GD Library

    В този урок ще разгледаме как се създава цвят и как да пишем текст.
    Всеки цвят, който се използва в изображението, трябва да бъде създаден от една от следните 2 функции:

    1. imageColorAllocate(img_resource, red, green, blue)
      Функцията връща цвят, представен от стойностите за червено, зелено и синьо.
      Стойностите на трите параметъра:
      img_resource – тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
      red – стойност за червеното (цяло число от 0 до 255)
      green – стойност за зеленото (цяло число от 0 до 255)
      blue – стойност за синьото (цяло число от 0 до 255)
    2. imageColorAllocateAlpha(img_resource, red, green, blue, alpha)
      Върши същото като горната функция, но добавя и четвърти аргумент – alpha. Той определя стойността за прозрачност на цвета (цяло число от 0 до 127)

    Това бяха функциите за създаване на цвят. Всеки цвят, който се използва в следващите функции, е създеден по този начин.

    Преди да видим две от функциите за създаване на текст ще се спрем на една функция, която запълва фона с различен цвят. Така ше можем да създаваме изображение с цвят, различен от черно.

    imageFill(img_resource, start_x, start_y, color)
    Функцията запълва изображението с цвят, използвайки кординатите start_x и start_y за начало.
    Стойностите на четирите параметъра:
    img_resource – тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
    start_x – x координата на началната точка
    start_y – y координата на началната точка
    color – цветът, създаден с една от двете функции (1. или 2.)

    Има няколко различни функции за писане на текст, но аз ще се спра само на две от тях в този урок. Другите можете да ги намерите в php.net

    1. imageString(img_resource, font_size, upper_x, upper_y, text, color)
      Тази функция изписва текст, започвайки от зададените координати и използвайки зададения цвят.
      Стойностите на шестте параметъра:
      img_resource – тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
      font_size – за вградените шрифтове може да бъде цяло число от 0 до 5
      upper_x – x координатата на горния ляв ъгъл, от който ще започва изписването на текста
      upper_y – y координатата на горния ляв ъгъл, от който ще започва изписването на текста
      text – текстът
      color – цветът, създаден с една от двете функции (1. или 2.)
    2. imageTtfText(img_resource, font_size, font_angle, lower_x, lower_y, color, font_file, text)
      Функцията изписва текст, но с малко повече функции.
      Стойностите на осемте параметъра:
      img_resource – тук се пише променливата, в която пазим ресурса на изображението, създадено с една от функциите, описани в предния урок
      font_size – число за големината на шрифта
      font_angle – ъгъл на наклона на текста.
      lower_x – x координатата на долния ляв ъгъл, от който ще започва изписването на текста
      lower_y – y координатата на долния ляв ъгъл, от който ще започва изписването на текста
      color – цветът, създаден с една от двете функции (1. или 2.)
      font_file – пътят до файла на шрифта
      text – текстът

    Примерният код от видео урока:

    <?php
    header("Content-type: image/jpg");
    
    $image = imagecreatetrucolor(300, 200);
    $font = "font/verdana.ttf";
    $red = imagecolorallocate($image, 255, 0, 0);
    $blue = imagecolorallocate($image, 0, 0, 255);
    $black = imagecolorallocate($image, 0, 0, 0);
    imagefill($image, 0, 0, $red);
    $font_size1 = 5;
    $upper_x = 50;
    $upper_y = 10;
    
    $font_size2 = 20;
    $font_angle = 0;
    $lower_x = 50;
    $lower_y = 50;
    imagestring($image, $font_size1, $upper_x, $upper_y, "text", $black);
    imagettftext($image, $font_size2, $font_angle, $lower_x, $lower_y, $blue, $font, "text");
    
    imagejpeg($image);
    imagedestroy($image);
    ?>

    Файлове за сваляне

    Оставете коментар