Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > шрифты


Автор: Seekoo 16.9.2006, 12:34
Код

imagestring($im, 3, 0+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],0,1), $cl1);
imagestring($im, 3, 25+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],1,1), $cl2);
imagestring($im, 3, 50+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],2,1), $cl3);
imagestring($im, 3, 75+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],3,1), $cl4);


есть код! как сделать чтобы был другой шрифт 123.ttf <- например от сюда

Автор: -=Ustas=- 16.9.2006, 14:13
http://php.net/imagettftext

Автор: Seekoo 16.9.2006, 14:14
ты мне пример с моим скриптом дай умник

Автор: -=Ustas=- 16.9.2006, 16:07
Цитата(Seekoo @  16.9.2006,  14:14 Найти цитируемый пост)
ты мне пример с моим скриптом дай умник 

А самому что, в лом разобраться?! Тем более пример есть в мане, при чем, элементарный до ужаса  smile 

Автор: Seekoo 16.9.2006, 18:09
я пробывал но у меня не проходит!

Автор: ewolf 16.9.2006, 19:59
А с примером выходит? 

Код

<?php
// Set the content-type
header("Content-type: image/png");

// Create the image
$im = imagecreatetruecolor(400, 30);

// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);

// The text to draw
$text = 'Testing...';
// Replace path by your own font path
$font = 'arial.ttf';

// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);

// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);

// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>


или опиши, что конкретно не выходит

Автор: Seekoo 16.9.2006, 23:23
Код

<?
// Регистрируем переменную
session_start();
session_register("secret_number");

function mt() {
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
    }

header("Content-type: image/png");

// создаем изображение
$im=imagecreate(101, 26);

// Выделяем цвет фона (белый)
$w=imagecolorallocate($im, 255, 255, 255);
 
// Выделяем цвет для фона (светло-серый)
$g1=imagecolorallocate($im, 140, 228, 68);
$g2=imagecolorallocate($im, 196, 228, 68);
$g3=imagecolorallocate($im, 228, 181, 68);

// Выделяем четыре случайных темных цвета для символов
$cl1=imagecolorallocate($im,rand(0,10),rand(10,20),rand(20,30));
$cl2=imagecolorallocate($im,rand(150,255),rand(54,255),rand(255,148));


// Рисуем сетку
for ($i=0;$i<=150;$i+=2) imageline($im,$i,0,$i,150,$g1);
for ($i=0;$i<=150;$i+=2) imageline($im,0,$i,150,$i,$g2);
for ($i=2;$i<=150;$i+=15) imageline($im,$i,0,$i,150,$g3);
for ($i=2;$i<=150;$i+=15) imageline($im,0,$i,150,$i,$g3);

// Выводим каждую цифру по отдельности, немного смещая случайным образом
imagestring($im, 3, 0+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],0,1), $cl1);
imagestring($im, 3, 25+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],1,1), $cl2);
imagestring($im, 3, 50+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],2,1), $cl3);
imagestring($im, 3, 75+rand(+5,2), 2+rand(2,-5), substr($_SESSION["secret_number"],3,1), $cl4);


// Коэфициент увеличения/уменьшения картинки
$k=2.15;

// Создаем новое изображение, увеличенного размера
$im1=imagecreatetruecolor(101*$k,26*$k);

// Копируем изображение с изменением рамеров в большую сторону
imagecopyresized($im1, $im, 0, 0, 0, 0, 101*$k, 26*$k, 101, 26); 

// Создаем новое изображение, нормального размера
$im2=imagecreatetruecolor(101,26);

// Копируем изображение с изменением рамеров в меньшую сторону
imagecopyresampled($im2, $im1, 0, 0, 0, 0, 101, 26, 101*$k, 26*$k); 

// Генерируем изображение
imagepng($im2);

// Освобождаем память
imagedestroy($im2);
imagedestroy($im1);
imagedestroy($im);
?>



вот код нужно чтобы цифры были другим шрифтом

Код

<?
// Регистрируем переменную
session_start();
session_register("secret_number");


function mt() {
    list($usec, $sec) = explode(' ', microtime());
    return (float) $sec + ((float) $usec * 100000);
    }

header("Content-type: image/png");

// создаем изображение
$im=imagecreate(101, 26);

// Выделяем цвет фона (белый)
$w=imagecolorallocate($im, 255, 255, 255);
 
// Выделяем цвет для фона (светло-серый)
$g1=imagecolorallocate($im, 140, 228, 68);
$g2=imagecolorallocate($im, 196, 228, 68);
$g3=imagecolorallocate($im, 228, 181, 68);

// Выделяем четыре случайных темных цвета для символов
$cl1=imagecolorallocate($im,rand(0,10),rand(10,20),rand(20,30));
$cl2=imagecolorallocate($im,rand(150,255),rand(54,255),rand(255,148));


// Рисуем сетку
for ($i=0;$i<=150;$i+=2) imageline($im,$i,0,$i,150,$g1);
for ($i=0;$i<=150;$i+=2) imageline($im,0,$i,150,$i,$g2);
for ($i=2;$i<=150;$i+=15) imageline($im,$i,0,$i,150,$g3);
for ($i=2;$i<=150;$i+=15) imageline($im,0,$i,150,$i,$g3);

// Выводим каждую цифру по отдельности, немного смещая случайным образом

$font = 'ariblk.ttf';

// Add the text!!!! VALENTIN CHANGES
imagettftext($im, 3, 0+rand(+5,2), 2+rand(2,-5), $cl1, $font, substr($_SESSION["secret_number"],0,1));
imagettftext($im, 3, 25+rand(+5,2), 2+rand(2,-5), $cl2, $font, substr($_SESSION["secret_number"],1,1) );
imagettftext($im, 3, 50+rand(+5,2), 2+rand(2,-5),  $cl3, $font, substr($_SESSION["secret_number"],2,1));
imagettftext($im, 3, 75+rand(+5,2), 2+rand(2,-5), $cl4, $font, substr($_SESSION["secret_number"],3,1));


// Коэфициент увеличения/уменьшения картинки
$k=2.15;

// Создаем новое изображение, увеличенного размера
$im1=imagecreatetruecolor(101*$k,26*$k);

// Копируем изображение с изменением рамеров в большую сторону
imagecopyresized($im1, $im, 0, 0, 0, 0, 101*$k, 26*$k, 101, 26); 

// Создаем новое изображение, нормального размера
$im2=imagecreatetruecolor(101,26);

// Копируем изображение с изменением рамеров в меньшую сторону
imagecopyresampled($im2, $im1, 0, 0, 0, 0, 101, 26, 101*$k, 26*$k); 

// Генерируем изображение
imagepng($im2);

// Освобождаем память
imagedestroy($im2);
imagedestroy($im1);
imagedestroy($im);
?>

 не пашет

Автор: ewolf 17.9.2006, 11:16
Попробуй указывать путь к шрифту от корня

Автор: mxp100 2.10.2006, 18:58
А случаем не проблемы с отображение русского у тебя?

Автор: OverClocker 6.2.2007, 11:35
У меня пишет Could not find/open font in C:\server\www\top\image.php on line 23
Шрифт разместил в той же папке (arial.ttf), скопировал из папки Windows. В чём проблема?

Автор: romantik 25.2.2007, 00:25
по-моему к шрифтам надо абсолютные пути указывать

Код

 $font = getcwd()."/font.ttf";


 smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)