Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: (Практика создания Web-сайтов, 2-е изд.) листинг 28.23
 
 автор: ValeV   (03.11.2009 в 19:42)   письмо автору
 
 

Как увеличить размер шрифта защитного кода


.....
  // Накладываем защитный код
  for($i=0; $i<$sign; $i++)
  {
    //Ориентир
    $h = 1;
    //Рисуем
    $color = imagecolorallocatealpha(
                    $img,
                    $figures[rand(0,count($figures)-1)],
                    $figures[rand(0,count($figures)-1)],
                    $figures[rand(0,count($figures)-1)],
                    rand(10,30)); 

    // Генерируем случайный символ
    $letter = $letters[rand(0,sizeof($letters)-1)];

    // Формируем координаты для вывода символа
    if(empty($x)) $x = $width*0.08;
    else $x = $x + ($width*0.8)/$sign+rand(0,$width*0.01);

    if($h == rand(1,2)) $y = (($height*1)/4) + rand(0,$height*0.1);
    else $y = (($height*1)/4) - rand(0,$height*0.1);

    // Запоминаем символ в переменной $code
    $code .= $letter;
    // Изменяем регистр символа
    if($h == rand(0,1)) $letter = strtoupper($letter);
    // Выводим символ на изображение
    imagestring($img, 6 ,$x, $y, $letter, $color);
  }
....

  Ответить  
 
 автор: heed   (04.11.2009 в 01:41)   письмо автору
 
   для: ValeV   (03.11.2009 в 19:42)
 

попробуйте 5 вместо 6

или попробуйте использовать imagettftext() с ttf-шрифтами
, или увеличте саму картинку задав height и width тегу img

а так к imagestring() идёт такое описание

bool imagestring ( resource $image , int $font , int $x , int $y , string $string , int $color )
Вставляет строку в заданных координатах.

Parameters

image
ресурс , возвращённый одной из функций создания изображения, как например imagecreatetruecolor().

font
Может быть 1, 2, 3, 4, 5 для встроенных шрифтов в кодировке latin2 (где более высокие числа, соответствуют бОльшим шрифтам) или любого из ваших собственных шрифтовых идентификаторов зарегистрированных imageloadfont().

x
x-coordinate of the upper left corner.

y
y-coordinate of the upper left corner.

string
The string to be written.

color
A color identifier created with imagecolorallocate().

-----------------------------------------------------------------------------

// Load the gd font and write 'Hello'
$font = imageloadfont('./04b.gdf');
imagestring($im, $font, 0, 0, 'Hello', $black);

  Ответить  
 
 автор: ValeV   (04.11.2009 в 22:21)   письмо автору
 
   для: heed   (04.11.2009 в 01:41)
 

Субъективно, на взгляд, в imagestring() 5 немного дает увеличение размера, но очень не существенно.
Попробую $font = imageloadfont('./04b.gdf');

  Ответить  
 
 автор: ValeV   (18.11.2009 в 06:36)   письмо автору
 
   для: ValeV   (03.11.2009 в 19:42)
 

а как его жирнее сделать?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования