Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Вывод нескольких изображений, при помощи GD
 
 автор: Drago   (19.11.2005 в 23:29)   письмо автору
 
 

Хочу сделать, чтобы скрипт выводил на страницу изображения всех шрифтов, имеющихся на сайте.
Написал следующие

<?php
function win2uni($s

  
$s convert_cyr_string($s,'w','i'); 
  for (
$result=''$i=0$i<strlen($s); $i++) 
  { 
    
$charcode ord($s[$i]); 
    
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i]; 
  } 
  return 
$result
}
$path_font "fonts";
$hdl=opendir($path_font);
while(
$file=readdir($hdl)) 
{
  if((
$file!=".")&&($file!=".."))
    
$font_array[] = $file;
}
closedir($hdl);
natcasesort($font_array);
$text "Пример";
foreach (
$font_array as $font)
{
  
header ("Content-type: image/png"); 
  
$size_img imagettfbbox (200"$path_font/$font"win2uni($text)); 
  
$img imagecreate ($size_img[2] + 10$size_img[1] + $size_img[7] * -1);     
  
$color imagecolorallocate ($img11514290); 
  
$text_color imagecolorallocate ($img000);
  
imagettftext ($img2005$size_img[7] * -1$text_color"$path_font/$font"win2uni($text));
  
imagepng ($img); 
}  
?>

Но выводиться картинка только с первым шрифтом.

   
 
 автор: cheops   (20.11.2005 в 03:11)   письмо автору
 
   для: Drago   (19.11.2005 в 23:29)
 

А нет, так не получится - необходимо действовать так, как это описано в теме по ссылке http://www.softtime.ru/forum/read.php?id_forum=3&id_theme=5173 - через тэг <img>

   
 
 автор: Drago   (20.11.2005 в 04:07)   письмо автору
 
   для: cheops   (20.11.2005 в 03:11)
 

Все понятно. Спасибо.

   
 
 автор: Drago   (26.11.2005 в 18:21)   письмо автору
 
   для: Drago   (20.11.2005 в 04:07)
 

Сделал вот так

<?php
function win2uni($s
  { 
    
$s convert_cyr_string($s,'w','i'); 
    for (
$result=''$i=0$i<strlen($s); $i++) 
    { 
      
$charcode ord($s[$i]); 
      
$result .= ($charcode>175)?"&#".(1040+($charcode-176)).";":$s[$i]; 
    } 
    return 
$result
  }
if (empty (
$_GET['show']))
{
  for (
$i 1$i count ($text) + 1$i++)
  {
    
//сюда данные передаются методом POST
    
$fon_col "$fon_color_r,$fon_color_g,$fon_color_b";
    
$font_col "$font_color_r,$font_color_g,$font_color_b";
    
$txt "";
    foreach (
$text as $val)
    {
      
$txt .= $val.",";
    }  
    
$txt urlencode (substr ($txt0, -1));
    echo 
"<img scr=\"preview.php?show=$i&font=$font&font_size=$font_size&fon_col=$fon_col&font_col=$font_col&txt=$txt\"><br>";
    echo 
"<a href=\"preview.php?show=$i&font=$font&font_size=$font_size&fon_col=$fon_col&font_col=$font_col&txt=$txt\">url</a><br>";

  }    
}
else
{
  
$num $_GET['show'];
  
$fon_color explode (","$_GET['fon_col']);
  
$font_color explode (","$_GET['font_col']);
  
$text explode (","urldecode ($_GET['txt']));
  
$font $_GET['font'];

  
header ("Content-type: image/png"); 
  
$path_font "fonts";
  
$size_img imagettfbbox ($font_size0"$path_font/$font"win2uni($text[$num 1])); 
  
$img imagecreate ($size_img[2] + 10$size_img[1] + $size_img[7] * -1);     
  
$color imagecolorallocate ($img$fon_color[0], $fon_color[1], $fon_color[2]); 
  
$text_color imagecolorallocate ($img$font_color[0], $font_color[1], $font_color[2]);
  
imagettftext ($img$font_size05$size_img[7] * -1$text_color"$path_font/$font"win2uni($text[$num 1]));
  
imagepng ($img); 
}  
?>

В результате, изображения не отображаються. Но если перейти по ссылке, то все нормально.

   
 
 автор: cheops   (26.11.2005 в 22:08)   письмо автору
 
   для: Drago   (26.11.2005 в 18:21)
 

Хм... странно, что в одном случае работает, а в другом нет... Обычно либо и то и то работает, либо не работает везде...

   
 
 автор: Drago   (26.11.2005 в 22:25)   письмо автору
 
   для: cheops   (26.11.2005 в 22:08)
 

Вот и я не могу понять, в чем дело.

Все, разобрался. :) Банальная ошибка в теге img. Написал scr вместо src. Извените за беспокойство. :)

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования