Визуализиране на IP

human

Registered
Значи кода да се показва в картинка IP е
Код:
<?php
$img_number = imagecreate(275,25);
$backcolor = imagecolorallocate($img_number,0,0,0);
$textcolor = imagecolorallocate($img_number,255,255,255);

imagefill($img_number,0,0,$backcolor);
$number = "IP-то ти е:  $_SERVER[REMOTE_ADDR]";

Imagestring($img_number,10,5,5,$number,$textcolor);

header("Content-type: image/gif");
imagegif($img_number);
?>
Как да направя наистина да излиза в картинка, която аз реша?
 

Dido_net

Registered
Въпрос: Как да ползвам кирилица за текста в gif имиджа който ми криейтва? И как да ползвам мой фонт за картинката която генерира? :roll:
 

human

Registered
index каза:
Че какво му е на ?
<?php
$ip = $_SERVER[REMOTE_ADDR] ;
echo "IP- '.ip.' " ;
?>

Ми искам да излиза в картинка...както има едни подписи по форумите с някакво животинче дето ти дърби информацията...така искам.Ако някой знае как моля ви да каже :(
 

Dido_net

Registered
human каза:
index каза:
Че какво му е на ?
<?php
$ip = $_SERVER[REMOTE_ADDR] ;
echo "IP- '.ip.' " ;
?>

Ми искам да излиза в картинка...както има едни подписи по форумите с някакво животинче дето ти дърби информацията...така искам.Ако някой знае как моля ви да каже :(
Ами, тая картинка се генерира всеки път... аз преди съм се мъчил да направя нещо такова... ама не става :cry:
 

bafitu

Registered
давам ви пример с png , но е аналогично и за другите просто променяте където пише png на примерно gif ..
Код:
<?
$kartinka = 'kartinkata.png'; // картинката върху което ще се изписва текст
$text = 'ИП-то ти е : '.$_SERVER['REMOTE_ADDR']; // текста 
$color = '000000'; // цвета на текста също като #000000 без #
$x = '55';  // положението спрямо X
$y = '40'; // положението спрямо Y
$font = 'c:/windows/fonts/arial.ttf'; // пътя до шрифта
function cp1251_utf8( $sInput ) // функция за кирилицата иначе ще излизат маймунки
{
  $sOutput = "";

  for ( $i = 0; $i < strlen( $sInput ); $i++ )
  {
      $iAscii = ord( $sInput[$i] );

      if ( $iAscii >= 192 && $iAscii <= 255 )
          $sOutput .=  "&#".( 1040 + ( $iAscii - 192 ) ).";";
      else if ( $iAscii == 168 )
          $sOutput .= "&#".( 1025 ).";";
      else if ( $iAscii == 184 )
          $sOutput .= "&#".( 1105 ).";";
      else
          $sOutput .= $sInput[$i];
  }
  return $sOutput;
}

if ((isset($text) || $text > "")) {
	$text = trim(cp1251_utf8($text)); //от функцията за кирилицата оправяме и премахваме празнините в началото и края
	$r1 = hexdec(substr($color, 0, 2));
	$g1 = hexdec(substr($color, 2, 2));
	$b1 = hexdec(substr($color, 4, 2));
        $image = imagecreatefrompng($kartinka);
   	$color = imagecolorallocate($image, $r1, $g1, $b1);
	imagettftext($image, 13, 0, $x, $y, $color, $font,$text); //изписваме текста върху картинката. "13" е големината на шрифта т.е. size, "0" е под какъв ъгъл да е
  header("Content-type: image/png"); 
    ImagePNG($image);
    
}
?>

сложил съм ви коментари горе-долу надявам се ще се оправите..
 

Dido_net

Registered
Warning: Cannot modify header information - headers already sent

:shock:

нямам никакви хеъдари стартиран, нито имам сесии, кукита.. etc... :shock:
 

bafitu

Registered
махни си първият празен ред т.е. <? да ти е на 1ви ред , а не на 2ри ..
бтв ето ви демо докато ми е включено пц-то:
http://baf.zapto.org/imagecreate.php
 

human

Registered
Warning: imagecreatefrompng(): 'http://n00ber.free.bg/images/2.jpg' is not a valid PNG file in /home/www/bukhum6.freehostia.com/ip.php on line 33

Warning: imagecolorallocate(): supplied argument is not a valid Image resource in /home/www/bukhum6.freehostia.com/ip.php on line 34

Warning: imagettftext() expects parameter 1 to be resource, boolean given in /home/www/bukhum6.freehostia.com/ip.php on line 35

Warning: Cannot modify header information - headers already sent by (output started at /home/www/bukhum6.freehostia.com/ip.php:33) in /home/www/bukhum6.freehostia.com/ip.php on line 36

Warning: imagepng(): supplied argument is not a valid Image resource in /home/www/bukhum6.freehostia.com/ip.php on line 37

DeMo

нещо яко съм сгафил :oops:

Кода:
Код:
<? 
$kartinka = 'http://n00ber.free.bg/images/2.jpg'; // картинката върху което ще се изписва текст 
$text = 'ИП-то ти е : '.$_SERVER['REMOTE_ADDR']; // текста 
$color = '000000'; // цвета на текста също като #000000 без # 
$x = '55';  // положението спрямо X 
$y = '40'; // положението спрямо Y 
$font = 'c:/windows/fonts/arial.ttf'; // пътя до шрифта 
function cp1251_utf8( $sInput ) // функция за кирилицата иначе ще излизат маймунки 
{ 
  $sOutput = ""; 

  for ( $i = 0; $i < strlen( $sInput ); $i++ ) 
  { 
      $iAscii = ord( $sInput[$i] ); 

      if ( $iAscii >= 192 && $iAscii <= 255 ) 
          $sOutput .=  "&#".( 1040 + ( $iAscii - 192 ) ).";"; 
      else if ( $iAscii == 168 ) 
          $sOutput .= "&#".( 1025 ).";"; 
      else if ( $iAscii == 184 ) 
          $sOutput .= "&#".( 1105 ).";"; 
      else 
          $sOutput .= $sInput[$i]; 
  } 
  return $sOutput; 
} 

if ((isset($text) || $text > "")) { 
   $text = trim(cp1251_utf8($text)); //от функцията за кирилицата оправяме и премахваме празнините в началото и края 
   $r1 = hexdec(substr($color, 0, 2)); 
   $g1 = hexdec(substr($color, 2, 2)); 
   $b1 = hexdec(substr($color, 4, 2)); 
        $image = imagecreatefrompng($kartinka); 
      $color = imagecolorallocate($image, $r1, $g1, $b1); 
   imagettftext($image, 13, 0, $x, $y, $color, $font,$text); //изписваме текста върху картинката. "13" е големината на шрифта т.е. size, "0" е под какъв ъгъл да е 
  header("Content-type: image/png"); 
    ImagePNG($image); 
    
} 
?>
 

human

Registered
Pr0oF каза:
Код:
  header("Content-type: image/png");
Пишеш png а ползваш jpg...

Fatal error: Call to undefined function: imagejpg() in /home/www/bukhum6.freehostia.com/ip.php on line 37

Само това се промени, аз като пормених кодовете с това
Код:
header("Content-type: image/jpg"); 
    ImageJPG($image);
 

Pr0oF

Registered
Код:
<?
$kartinka = '123.JPG'; // картинката върху което ще се изписва текст
$text = 'ИП-то ти е : '.$_SERVER['REMOTE_ADDR']; // текста
$color = '000000'; // цвета на текста също като #000000 без #
$x = '55';  // положението спрямо X
$y = '40'; // положението спрямо Y
$font = 'C:/windows/fonts/arial.ttf'; // пътя до шрифта
function cp1251_utf8( $sInput ) // функция за кирилицата иначе ще излизат маймунки
{
  $sOutput = "";

  for ( $i = 0; $i < strlen( $sInput ); $i++ )
  {
      $iAscii = ord( $sInput[$i] );

      if ( $iAscii >= 192 && $iAscii <= 255 )
          $sOutput .=  "&#".( 1040 + ( $iAscii - 192 ) ).";";
      else if ( $iAscii == 168 )
          $sOutput .= "&#".( 1025 ).";";
      else if ( $iAscii == 184 )
          $sOutput .= "&#".( 1105 ).";";
      else
          $sOutput .= $sInput[$i];
  }
  return $sOutput;
}

if ((isset($text) || $text > "")) {
   $text = trim(cp1251_utf8($text)); //от функцията за кирилицата оправяме и премахваме празнините в началото и края
   $r1 = hexdec(substr($color, 0, 2));
   $g1 = hexdec(substr($color, 2, 2));
   $b1 = hexdec(substr($color, 4, 2));
        $image = imagecreatefromjpeg($kartinka);
      $color = imagecolorallocate($image, $r1, $g1, $b1);
   imagettftext($image, 13, 0, $x, $y, $color, $font,$text); //изписваме текста върху картинката. "13" е големината на шрифта т.е. size, "0" е под какъв ъгъл да е
  header("Content-type: image/jpeg");
    Imagejpeg($image);
   
}
?>

--
Ето ти за jpg формат.
Работи, сега го тествах.
 

human

Registered
Е щом работи значи в freehostia е проблема


ЕДИТ: Като го правя на компа ми пише
<br />
<b>Warning</b>: imagecreatefromjpeg(http://n00ber.free.bg/images/2.jpg ): failed to open stream: HTTP request failed! HTTP/1.0 501 Not Implemented
in <b>c:\appserv\www\ip.php</b> on line <b>33</b><br />
<br />
<b>Warning</b>: imagecolorallocate(): supplied argument is not a valid Image resource in <b>c:\appserv\www\ip.php</b> on line <b>34</b><br />
<br />
<b>Warning</b>: imagettftext(): supplied argument is not a valid Image resource in <b>c:\appserv\www\ip.php</b> on line <b>35</b><br />
<br />
<b>Warning</b>: imagejpeg(): supplied argument is not a valid Image resource in <b>c:\appserv\www\ip.php</b> on line <b>37</b><br />
 

Pr0oF

Registered
Качи си картинката там където ти е файла.
Пак ще ти покажа при мене как е точно
Код:
<?
$kartinka = '2.JPG'; // картинката върху което ще се изписва текст
//..........................................
?>
Т.е. не го задавам с http://
 

human

Registered
Явно в мене е проблема, защото в freehostia си дава тази грешка, а на компа ми не отваря картинката, но няма зн.Явно работи
 

Горе