Скрипт демотиватора

Тема в разделе "Open Source", создана пользователем workanius, 31 мар 2010.

Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. workanius

    workanius Постоялец

    Регистр.:
    22 фев 2009
    Сообщения:
    72
    Симпатии:
    11
    Вобщем вот что я смог выдрать и сделать из модуля генератора демотиваторов для DLE... помогите довести его до ума и сделать вывод ссылок на демотиватор, а так-же проверку на размеры загружаемого изображения...
    PHP:
    <?php
        
    function win_to_utf($s

    for(
    $i=0$m=strlen($s); $i<$m$i++) 

    $c=ord($s[$i]); 
    if (
    $c<=127
    {
    $t.=chr($c); continue; } 
    if (
    $c>=192 && $c<=207
    {
    $t.=chr(208).chr($c-48); continue; } 
    if (
    $c>=208 && $c<=239
    {
    $t.=chr(208).chr($c-48); continue; } 
    if (
    $c>=240 && $c<=255
    {
    $t.=chr(209).chr($c-112); continue; } 
    if (
    $c==184) { $t.=chr(209).chr(209); 
    continue; }; 
    if (
    $c==168) { $t.=chr(208).chr(129); 
    continue; }; 

    return 
    $t
    }
      
    $dirdem='';
    if (isset(
    $_FILES["file"])){
    $myfile $_FILES["file"]["tmp_name"];
    $font str_replace "\\""/"getcwd () )."/arial.ttf";
    $font1 $font;
    $headerSize 33.5;
    $textSize 24.0;
     
    $imageMargin 20;
      
    $spacing 16;
      
    $borderPad 16;
    $srcFile $myfile;
     
    $header win_to_utf$_POST["head"]);
      
    $text win_to_utf($_POST["text"]);
     if( !
    file_exists$srcFile ) ){
        echo 
    "picture file not found\n";
        exit;
      }
      
    $img imagecreatefromjpeg$srcFile );
      list(
    $w$h) = getimagesize$srcFile );
      
    $ha1 imagettfbbox($headerSize0$font1$header );
      
    $ha2 imagettfbbox($textSize0,$font$text );
      
    $wt1 $ha1[2]-$ha1[0];
      
    $ht1 $ha1[1]-$ha1[7];
      
    $wt2 $ha2[2]-$ha2[0];
      
    $ht2 $ha2[1]-$ha2[7];
      
    $fw $w $imageMargin $borderPad 2;
      
    $fh $h $imageMargin $borderPad $ht1 $ht2 $spacing 3;
      
    $fon imagecreatetruecolor($fw$fh);
      
    $white imagecolorallocate$fon255255255 );
      
    $black imagecolorallocate$fon,   0,   0,   );
      
    imagefill$fon00$black );
      
    imagecopy$fon$img$imageMargin $borderPad 4$imageMargin $borderPad 400$w$h );
      
    imagerectangle$fon$imageMargin $borderPad 3$imageMargin $borderPad 3,
               
    $imageMargin $borderPad $w 2$imageMargin $borderPad $h 2$white );
      
    imagerectangle$fon$imageMargin $borderPad 4$imageMargin $borderPad 4,
               
    $imageMargin $borderPad $w 3$imageMargin $borderPad $h 3$white );
      
    imagettftext$fon$headerSize0,
        (
    $fw $wt1) / 2$imageMargin $borderPad*$h $ht1 $spacing,
        
    $white$font1$header );
      
    imagettftext$fon$textSize0,
        (
    $fw $wt2) / 2$imageMargin $borderPad*$h $ht1 $ht2 $spacing*2,
        
    $white$font$text );
     
    $ts=$dirdem.time();
     
    $ts1=''.time();
      
    imagejpeg$fon$ts.".jpg"98 );
      
    imagecolordeallocate$fon$black );
      
    imagecolordeallocate$fon$white );
      
    imagedestroy$fon );
    }
    ?>
    <center>
         <form  method="post" enctype="multipart/form-data">
          Ссылка на изображение <input type="file" name="file"><br> 
          Первая надпись <input type="text" name="head"><br> 
          Вторая надпись <input type="text" name="text"><br> 
          <input   type="submit" value="Создать"><br>
          </form>
    </center>
    В корень со скриптом приложите файлик arial.ttf
     
Статус темы:
Закрыта.