Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

SnakeX

[Resolvido] Problema com GD

Recommended Posts

Boa tarde,

 

É o seguinte, eu estou criando um script que gera "sigs" com informação acerca de uma conta steam, ele funciona bem, mas no meu localhost funciona de uma maneira e no host de outra maneira, portanto explicando o que se passa, é que ele no meu localhost mete as letras com espaçamento e é assim que deve de estar mas no host mete as letras muito encostadas =\

 

Isso fará alguma diferença?

O meu localhost é Windows

O meu host é Linux

 

 

$text_x = 8;
	$text_y = 15;
	$img_x  = 2;
	$img_y  = 3;

	//$status_icon   = imagecreatefrompng('sigs/3/icon.png');
	$status_avatar = imagecreatefromjpeg($avatar['medium']);

	//imagecopy($dest, $status_icon, $text_x, $text_y, 0, 0, imagesx($status_icon), imagesy($status_icon));
	imagecopy($dest, $status_avatar, $img_x, $img_y, 0, 0, imagesx($status_avatar), imagesy($status_avatar));

	imagettftext($dest, 10, 0, 80, 20, $Colors['grey'], $Fonts['arial_bold'], $name);
	imagettftext($dest, 8, 0, 80, 35, $Colors[$state], $Fonts['arial_bold'], $status);
    // Steam rating:
    imagettftext($dest, 7, 0, 280, 16, $Colors['white'], $Fonts['arial_bold'], 'Steam Rating : ');
    imagettftext($dest, 7, 0, 356, 16, $Colors['offline'], $Fonts['arial_bold'], $steamRating);
    // Play time:
    imagettftext($dest, 7, 0, 280, 28, $Colors['white'], $Fonts['arial_bold'], 'Playing time : ');
    imagettftext($dest, 7, 0, 350, 28, $Colors['offline'], $Fonts['arial_bold'], $hoursPlayed2Wk . ' hrs past 2 weeks');
    // Member since:
	imagettftext($dest, 7, 0, 280, 40, $Colors['white'], $Fonts['arial_bold'], 'Member Since : ');
	imagettftext($dest, 7, 0, 359, 40, $Colors['offline'], $Fonts['arial_bold'], $membersince);


imagepng($dest, $CacheSig);
readfile($CacheSig);
imagedestroy($dest);

 

 

Não está ai o código completo mas essa é a parte que coloca os textos na imagem...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Amigo adicione no inicio do código a função

error_reporting(E_ALL);

Tente abrir a imagem diretamente, digite na barra de endereço o caminho a da imagem, não use a tag img pois não será possivel indentificar os erros amigo.

Atenciosamente Silverfox

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hmmm.. como assim abrir a imagem directamente? Não percebi desculpe -.-'

 

E já tinha o error_reporting(E_ALL); no inicio do código...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem está um pouco corrido aqui, estarei testando seu código em casa amigo e posto amanha os resultados (obs.: tenho linux e windows para testes)

 

Atenciosamente Silverfox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Obrigado, se for preciso o código completo eu coloco aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poderia colocar os valores das Arrays $Colors e $Fonts, para saber exatemente as cores de fontes usadas Imagem Postada

 

Uma possibilidade é o seu servidor não possuir a fonte necessaria e adaptar para outra parecida, já tentou upar a fonte(s) em uma pasta e chama-las da pasta?

 

Atenciosamente Silverfox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas as fontes eu estou a enviar junto com o script lol

 

// Create some colors
//
$Colors['online']  = imagecolorallocate($dest, 147, 194, 238);
$Colors['in-game'] = imagecolorallocate($dest, 139, 197, 63);
$Colors['offline'] = imagecolorallocate($dest, 137, 137, 137);
$Colors['white']   = imagecolorallocate($dest, 255, 255, 255);
$Colors['grey']    = imagecolorallocate($dest, 208, 198, 169);
$Colors['transparent'] = imagecolorallocatealpha($dest, 255,255,255, 100);
$Colors['transparent_copyright'] = imagecolorallocatealpha($dest, 255,255,255, 120);

// Fonts...
//
$Fonts['arial']      = 'arial.ttf';
$Fonts['arial_bold'] = 'arialbd.ttf';
$Fonts['tahoma'] = 'tahoma.ttf';
$Fonts['tahoma_bold'] = 'tahomabd.ttf';

Compartilhar este post


Link para o post
Compartilhar em outros sites

Um, pode ser que o servidor não reconheça as fontes se elas não estiverem em pastas, faz algum tempo que não trabalho com GD, mas se eu nao me engano era tive um problema parecido.

 

Amanha digo o resultado amigo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se calhar preciso de definir o caminho até à fonte?

Vou tentar fazer isso...

 

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

Edit:

 

Não é isso não, ele está a colocar as fontes direito, mas sem os espaçamentos como vejo em windows -.-

http://envy-gaming.com.pt/steam/status.php?type=3

 

Se quiser ver como está a aparecer

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então testei, até com fontes OTF e tive o mesmo problema, amigo vou ver se encontro algo na NET e em seguida posto

 

[editado]

Encontrei os seguintes links:

http://bugs.php.net/bug.php?id=30652

 

Estou lendo outro site (em inglês), assim que conseguir entender tudo vejo as soluções possiveis - se existirem.

 

Atenciosamente Silverfox.

Compartilhar este post


Link para o post
Compartilhar em outros sites

De facto é muito estranho =\ pensei que fosse algum problema no script, pois ando muito desactualizado xD

 

Deparei-me com outro problema =\

 

Parece que não é possível utilizar caracteres como ε†ล™ | ηøηαмє a imagem não aparece, terei de usar algum filtro para fazer "replace" das palavras ou existe alguma maneira para colocar a funcionar?

 

 

Eu até já coloquei um header com o charset utf-8 mas não resolve xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem o problema do unicode já consegui resolver, ufa, passei o domingo inteiro à procura da melhor maneira de conseguir meter essa porcaria funcionar heheh agora o outro problema ainda não consegui encontrar solução, mas o mais provável é migrar o meu host de linux para windows e assim não tenho mais esse problema xD

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.