Один скрипт выдаёт на разных серверах разные изображения.
Вот ссылки на изображение:
Правельное отображение
Размытое отображение (другой сервер)
<?php
// Set the content-type
header('Content-type: image/png');
// Насройки
$bg = "img/bg.png";
$top = "img/top2.png";
$size = 8;
$usize = 8;
$user = "RACER33";
$font = 'visitor.ttf';
// Создаём изображение
$im = imagecreatefrompng($bg);
$topim = imagecreatefrompng($top);
$color = imagecolorallocate($im, 255, 255, 205);
//--------------------------------------------------------------
// Get values
.......
//--------------------------------------------------------------
// Вывод текста
imagettftext($im, $size, 0, 10, 12, $color, $font, $os);
imagettftext($im, $size, 0, 10, 22, $color, $font, $ip);
imagettftext($im, $size, 0, 10, 32, $color, $font, $browser);
imagettftext($im, $usize, 0, $x, 32, $color, $font, $user);
imagecopymerge_alpha($im, $topim, 0, 0, 0, 0, 350, 38, 50);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
imagedestroy($topim);
?>
Спустя 1 час, 13 минут, 28 секунд (18.12.2009 - 23:55) sergeiss написал(а):
Цитата (TUNER88 @ 18.12.2009 - 23:42) |
imagecopymerge_alpha( |
А это что за функция такая? Чегой-то я не вижу такой среди стандартных... И мне кажется, проблема именно в этой функции.
Другой вопрос - почему ты не выводишь текст на итоговое изображение, а используешь некоторое промежуточное?
Спустя 31 минута, 10 секунд (19.12.2009 - 00:27) TUNER88 написал(а):
Она только белую крышку сверху накладывает
Вот весть код
Вот эта функция
Вот весть код
<?php
// Set the content-type
header('Content-type: image/png');
// Насройки
$bg = "img/bg.png";
$top = "img/top2.png";
$size = 8;
$usize = 8;
$user = "RACER33";
$font = 'visitor.ttf';
// Создаём изображение
$im = imagecreatefrompng($bg);
$topim = imagecreatefrompng($top);
$color = imagecolorallocate($im, 255, 255, 205);
//--------------------------------------------------------------
// Get values
$time=date("H.i");
$ip=$_SERVER['REMOTE_ADDR'];
$ip="IP: $ip";
$oses=array(
'windows nt 6.1',
'windows nt 6.0',
'windows nt 5.2',
'windows nt 5.1',
'windows nt 5.0',
'windows nt 4.0',
'windows me',
'windows 98',
'windows 95',
'iphone',
'mac',
'linux',
'win'
);
$osnames=array(
'windows nt 6.1'=>'Windows 7',
'windows nt 6.0'=>'Windows Vista',
'windows nt 5.2'=>'Windows Server 2003 or XPx64',
'windows nt 5.1'=>'Windows XP',
'windows nt 5.0'=>'Windows 2000',
'windows nt 4.0'=>'Windows NT',
'windows me'=>'Windows ME',
'windows 98'=>'Windows 98',
'windows 95'=>'Windows 95',
'iphone'=>'iPhone OS',
'mac'=>'MacOS',
'linux'=>'Linux',
'win'=>'Windows'
);
$browsers=array(
'msie',
'firefox',
'opera',
'chrome',
);
$names=array(
'msie'=>'Internet Explorer',
'firefox'=>'Mozilla Firefox',
'opera'=>'Opera',
'chrome'=>'Google Chrome',
);
$agent=strToLower($_SERVER['HTTP_USER_AGENT']);
$os='Unknown';
foreach($oses as $s)
if(strpos($agent,$s)){
$os=$osnames[$s];
break;
}
$browser='Unknown';
foreach($browsers as $brwsr)
if($pos=strpos($agent,$brwsr)){
$browser=$names[$brwsr];
break;
}
if($browser!=='Unknown') {
$ver='';
for(;$pos<=strlen($agent);$pos++){
if((is_numeric($agent[$pos]))||($agent[$pos]=='.'))
$ver.=$agent[$pos];
else if ($ver) break;
}
$browser.=' '.$ver;
}
#$browser="BROWSER: $browser";
$os="OC: $os";
//Ширина ника в px
$bbox = imagettfbbox ($usize, 0, $font, $user);
$x = 340 - ($bbox[2] - $bbox[0]);
// Функция склеивания изображений
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$opacity=$pct;
// getting the watermark width
$w = imagesx($src_im);
// getting the watermark height
$h = imagesy($src_im);
// creating a cut resource
$cut = imagecreatetruecolor($src_w, $src_h);
// copying that section of the background to the cut
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
// inverting the opacity
$opacity = 100 - $opacity;
// placing the watermark now
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
}
//--------------------------------------------------------------
// Вывод текста
imagettftext($im, $size, 0, 10, 12, $color, $font, $os);
imagettftext($im, $size, 0, 10, 22, $color, $font, $ip);
imagettftext($im, $size, 0, 10, 32, $color, $font, $browser);
imagettftext($im, $usize, 0, $x, 32, $color, $font, $user);
imagecopymerge_alpha($im, $topim, 0, 0, 0, 0, 350, 38, 50);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
imagedestroy($topim);
// LOG FILE
$ip = getenv("remote_addr");
$site = getenv("HTTP_REFERER");
$file = fopen("log.txt","a");
$string = "$site: $ip \n";
fputs($file, $string);
fclose($file);
?>
Вот эта функция
// Функция склеивания изображений
function imagecopymerge_alpha($dst_im, $src_im, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $pct){
$opacity=$pct;
// getting the watermark width
$w = imagesx($src_im);
// getting the watermark height
$h = imagesy($src_im);
// creating a cut resource
$cut = imagecreatetruecolor($src_w, $src_h);
// copying that section of the background to the cut
imagecopy($cut, $dst_im, 0, 0, $dst_x, $dst_y, $src_w, $src_h);
// inverting the opacity
$opacity = 100 - $opacity;
// placing the watermark now
imagecopy($cut, $src_im, 0, 0, $src_x, $src_y, $src_w, $src_h);
imagecopymerge($dst_im, $cut, $dst_x, $dst_y, $src_x, $src_y, $src_w, $src_h, $opacity);
}
Спустя 41 секунда (19.12.2009 - 00:27) TUNER88 написал(а):
Косяк именно в imagettftext
Спустя 13 минут, 57 секунд (19.12.2009 - 00:41) sergeiss написал(а):
Ты попробуй просто вывести текст на единственную картинку. Безо всякого объединения картинок.
Если всё будет нормально, то проблема именно в "склеивании".
Если всё будет нормально, то проблема именно в "склеивании".
Спустя 5 часов, 37 минут, 5 секунд (19.12.2009 - 06:18) TUNER88 написал(а):
Цитата (sergeiss @ 18.12.2009 - 21:41) |
Ты попробуй просто вывести текст на единственную картинку. Безо всякого объединения картинок. Если всё будет нормально, то проблема именно в "склеивании". |
Склеивание происходит поверху отрисовки текста. Оно не причём.
Но, не важно, всеравно создал файлик для проверки
<?php
// Set the content-type
header('Content-type: image/png');
// Насройки
$size = 8;
$user = "TTEST TEXT";
$font = 'visitor.ttf';
// Создаём изображение
$im = imagecreate(350, 38);
$background = imagecolorallocate($im, 255, 0, 0);
$color = imagecolorallocate($im, 255, 255, 205);// Вывод текста
imagettftext($im, $size, 0, 10, 12, $color, $font, $user);
imagettftext($im, $size, 0, 10, 22, $color, $font, $user);
imagettftext($im, $size, 0, 10, 32, $color, $font, $user);
imagepng($im);
imagedestroy($im);
?>
Тест (нормальная картинка)
Тест (размытая картинка)
В чём может быть проблема???
Спустя 4 минуты, 38 секунд (19.12.2009 - 06:23) TUNER88 написал(а):
Цитата |
Другой вопрос - почему ты не выводишь текст на итоговое изображение, а используешь некоторое промежуточное? |
Потому что белая крышка (полукруг вверху) должен ложится на текст.
Спасибо кстати за помощь!!!

Спустя 2 часа, 45 минут, 9 секунд (19.12.2009 - 09:08) VolCh написал(а):
попробуй использовать отрицательный $color
imagettftext($im, $size, 0, 10, 12, -$color, $font, $user);
Спустя 2 часа, 21 минута, 16 секунд (19.12.2009 - 11:29) sergeiss написал(а):
Цитата (TUNER88 @ 19.12.2009 - 07:23) |
Спасибо кстати за помощь!!! |
Да всегда пожалуйста

Спустя 4 часа, 15 минут, 40 секунд (19.12.2009 - 15:45) TUNER88 написал(а):
Цитата |
Да всегда пожалуйста smile.gif Только я не понял, в чем я реально помог. Вроде бы, у тебя проблема как была, так и осталась. |
Ну хотя бы за желание помочь!!!
Цитата |
imagettftext($im, $size, 0, 10, 12, -$color, $font, $user); |
Стало по лучше, пропало размытие но шрифт сильно большой и кривоват немного.
Попробовал изменить размер шрифта в нижней строчке с 7 на 8, размер меньше стал а вот буквы не совсем правильно отображаются + между буквами промежутки пропали.
Не правильное отображение
Правильное отображение
Спустя 6 часов, 1 минута, 30 секунд (19.12.2009 - 21:46) sergeiss написал(а):
Файлы шрифтов одинаковые на самом деле, или только названия одинаковые, а содержание разное?
Спустя 1 час, 12 минут, 48 секунд (19.12.2009 - 22:59) TUNER88 написал(а):
Цитата |
Файлы шрифтов одинаковые на самом деле, или только названия одинаковые, а содержание разное? |
Ну конечно одинаковые, так бы я вопрос не задавал бы.
Я просто папку всю перенёс.