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


Автор: Raily 4.11.2007, 23:19
У меня такое вопрос: я создаю капчу, и  когда встевляю её на сайт с серым цветом фона, то цвет под буквами тоже становится серым, а цвет вокруг букв - белым (этот цвет у меня задан как фоновый цвет изображения), как сделать так, чтобы и под текстом внутки кратинки цвет тоже стал белым?
Код

function captcha_image_( $msg )
{
$font_file = "../BREMENB.ttf";
$width = strlen( $msg ) * 20;
$height = 32;

$im = imagecreatetruecolor( $width, $height );

imagealphablending( $im, false );
imagesavealpha( $im, true );

$colorbg = imagecolorallocatealpha( $im, 255, 255, 255, 0);
imagefilledrectangle ( $im, 0, 0, $width, $height, $colorbg);

for ( $i=0, $posx=8, $posy=24; $i < strlen( $msg ); $i++ ) {
$colortext = imagecolorallocatealpha( $im, rand( 0, 150 ), rand( 0, 150 ), rand( 0, 150 ), rand( 0, 50 ) );
$font_size = rand( 10, 18 );
$font_angle = rand( -10, +10 );

imagettftext( $im, $font_size, $font_angle, $posx, $posy + rand( -2, +2 ), $colortext, $font_file, $msg[ $i ] );

imagecolordeallocate( $im, $colortext );
$dim = imagettfbbox( $font_size, $font_angle, $font_file, $msg[ $i ] );
$posx += $dim[ 2 ] - $dim[ 0 ] + 4;
}

imagecolordeallocate( $im, $colorbg );
header( "Content-type: image/png" );
imagepng( $im );
imagedestroy( $im );
}


$key = substr( strtoupper( md5( time( ) ) ), rand( 0, 22 ), 10 );
captcha_image_( $key );

Автор: 0LineGate 9.11.2007, 11:47
рисуй не на голом цвете, а на
Код

imagecreatefrompng(путь_до_кртинки_в_формате_png);

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