помогите решить не большую проблему с GD

Тема в разделе "PHP", создана пользователем Diesel_craft, 23 авг 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. Diesel_craft

    Diesel_craft Постоялец

    Регистр.:
    21 мар 2012
    Сообщения:
    125
    Симпатии:
    39
    есть скрипт он режет изображение на квадраты и квадраты получаются такого вида x++_y++ т.е. 1_1 1_2 и тд..

    PHP:
    <?  
        
    error_reporting(0);
        
    $i=0;
        
    $im imagecreatefromjpeg("исходник.jpg");
        for (
    $x=0;$x<60;$x++)
        for (
    $y=0;$y<45;$y++){
        if (!
    file_exists("конечная папка".($x)."_".($y).".jpg"))
        {
        
    $id imagecreatetruecolor(100,100);
        
    imagecopy($id,$im,0,0,100*$x,$y*100,100,100);
        
    ImageJpeg($id,"конечная папка".($x)."_".($y).".jpg");
       
        }
        
    $i++;
        }
        echo 
    $i;
    ?>
    мне требуется чтоб он резал не только на квадраты но и раскидывал обрезки в папки имена папок чтоб он брал с переменной $y

    т.е. чтоб квадрат 1_1.jpg летел в папку 1 как и все остальные у которых вторая цыфра 1 (2_1, 3_1 и тд)
    а квадраты 1_2.jpg летели соответственно в папку 2
    и так со всеми по нарастающей

    ребят кто шарит помогите плз

    либо может кто подкинет альтернативный способ
     
  2. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    PHP:
    $destination 'конечная папка/' $y '/';

    if( ! 
    is_dir$destination ) ){

       
    mkdir$destination );
    }

    imagejpeg$id$destination $x '_' $y '.jpg' );
     
    Diesel_craft нравится это.
  3. Diesel_craft

    Diesel_craft Постоялец

    Регистр.:
    21 мар 2012
    Сообщения:
    125
    Симпатии:
    39
    это тоесть полный скрипт будет таким

    Код:
    <?   
        error_reporting(0);
        $i=0;
        $im = imagecreatefromjpeg("mapn.jpg");
        for ($x=0;$x<60;$x++)
        for ($y=0;$y<45;$y++){
        if (!file_exists("maps/night".($x)."_".($y).".jpg"))
        {
    $destination = 'конечная папка/' . $y . '/';
    
    if( ! is_dir( $destination ) ){
      mkdir( $destination );
    }
    imagejpeg( $id, $destination . $x . '_' . $y . '.jpg' );
        }
        $i++;
        }
        echo $i;
    ?>
    я правельно понял?
     
  4. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    тогда скорее так:
    PHP:
    error_reporting(0);
    $i=0;
    $im imagecreatefromjpeg("исходник.jpg");
    for (
    $x=0;$x<60;$x++)
      for (
    $y=0;$y<45;$y++){

      
    $destination 'конечная папка/' $y '/';
      
    $jpg_name $destination $x '_' $y '.jpg';

      if ( ! 
    file_exists$jpg_name ) ){

      
    $id imagecreatetruecolor(100,100);
      
    imagecopy($id,$im,0,0,100*$x,$y*100,100,100);

      if( ! 
    is_dir$destination ) ){

      
    mkdir$destination );
      }

      
    imagejpeg$id$jpg_name );
      }
      
    $i++;
      }
    echo 
    $i;
     
    Diesel_craft нравится это.
  5. Diesel_craft

    Diesel_craft Постоялец

    Регистр.:
    21 мар 2012
    Сообщения:
    125
    Симпатии:
    39
    спасибо ограмадное сейчас попробую порезать отпишусь

    Ошибка сервера

    при том что на обоих скриптах на денвере и на хосте в чем мб трабла?
    но если сменить расширение на пнг или гиф то скрипт начинает работать

    но в результате в папках черные квадраты и все
     
    Последнее редактирование модератором: 24 авг 2013
  6. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.726
    Симпатии:
    2.100
    а как насчёт http://www.craiglotter.co.za/2011/01/28/php-generate-a-thumbnail-from-a-jpg-png-or-gif-image-file/?
    посмотрите ещё phpinfo();
    php.jpg
     
    Diesel_craft нравится это.
  7. Diesel_craft

    Diesel_craft Постоялец

    Регистр.:
    21 мар 2012
    Сообщения:
    125
    Симпатии:
    39
    GD Supportenabled
    GD Versionbundled (2.0.34 compatible)
    FreeType Supportenabled
    FreeType Linkagewith freetype
    FreeType Version2.1.9
    T1Lib Supportenabled
    GIF Read Supportenabled
    GIF Create Supportenabled
    JPG Supportenabled
    PNG Supportenabled
    WBMP Supportenabled
    XBM Supportenabled
     
  8. BDSG

    BDSG

    Регистр.:
    28 фев 2009
    Сообщения:
    203
    Симпатии:
    109
    вариантов проблемы уйма.. начиная с того, что "исходник.jpg" не jpg, а, например, gif, которому прописали неверное расширение и заканчивая голюками самого php..

    пропишите error_reporting( E_ALL ); и смотрите какие конкретно сыпятся ошибки.. тогда можно хоть какую-нибудь конкретику искать..
     
    Шумадан и Diesel_craft нравится это.
  9. Diesel_craft

    Diesel_craft Постоялец

    Регистр.:
    21 мар 2012
    Сообщения:
    125
    Симпатии:
    39
    видимо из-за пыха 5,2,4 у знакомого на 5,3 режет сейчас скинул ему карту посмотрим как порежется


    все отлично, большое человеческое спасибо за помощь, тему можно закрывать
     
Статус темы:
Закрыта.