ФорумПрограммированиеPHP для идиотов → Сохранение GD изображения в файл

Сохранение GD изображения в файл

  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 15 сентября 2007 г. 6:23

    вообщем такая проблема…
    Скажем загружаю картинку…программа обрабатывает и сохраняет её в нужный мне размер.

    Проблема в том как сохранить в файл?
    copy();
    ?

  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 15 сентября 2007 г. 7:28, спустя 1 час 5 минут 19 секунд

    http://ru2.php.net/manual/ru/function.imagejpeg.php
    http://ru2.php.net/manual/ru/function.imagegif.php
    http://ru2.php.net/manual/ru/function.imagepng.php

    Можеш воспользоваться моим кодом для ресайза и установки качества, после сохранение в файл или вывод в браузер

    function imageresize($outfile,$infile,$percents,$quality) {
    $im=imagecreatefromjpeg($infile);
    $w=imagesx($im)*$percents/100;
    $h=imagesy($im)*$percents/100;
    $im1=imagecreatetruecolor($w,$h);
    imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

    imagejpeg($im1,$outfile,$quality);
    imagedestroy($im);
    imagedestroy($im1);
    }
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 8:17, спустя 9 дней 49 минут

    Можеш воспользоваться моим кодом


    Спасибо.Только вот картинка получается такая…

    1.jpg

    Хочу так…

    2.jpg

    1. 1.JPG (126)
    2. 2.JPG (113)
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 8:20, спустя 2 минуты 51 секунду

    Может задать условие на ширину и длину?
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2007 г. 8:26, спустя 5 минут 46 секунд

    это как? хочеш 5 квадратов, а получаешь 7 к тому же совершенно отличных от исходных?!?!?!??)) непонял… бросаю пить))
    adw/0
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2007 г. 8:28, спустя 1 минуту 42 секунды

    imageresize(файл на выхожд, на вход, размер в проуентах, качесто)
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 8:36, спустя 7 минут 50 секунд

    Ты меня не понял…

    Размер в процентах - скажем 25%

    Возьмем картинку - 1024 х 768

    Потом возьмем картинку 379 х 244

    Сделаем вывод…картинки будут не ровные…не красиво получится…

    Хочется чтобы так…
    1. 3.JPG (115)
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2007 г. 8:52, спустя 16 минут 10 секунд

    Я так понял тебе нужно фиксированный размер картинки:

    function imageresize($outfile,$infile,$w,$h,$quality) {
    $im=imagecreatefromjpeg($infile);

    $im1=imagecreatetruecolor($w,$h);
    imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));

    imagejpeg($im1,$outfile,$quality);
    imagedestroy($im);
    imagedestroy($im1);
    }


    типа того

    http://www.php.net/manual/ru/function.imagecreatetruecolor.php
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 9:18, спустя 25 минут 49 секунд

    Гм…если мы изображение такого формата делаем в такой

    то как то не красиво…
    1. 4.JPG (116)
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 24 сентября 2007 г. 9:28, спустя 10 минут 6 секунд

    дай свое изображение, кидай на [email protected]
    adw/0
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 9:55, спустя 27 минут 14 секунд

    Вот 2-а изображения с размерами 3072 х 2304

    1. IMG_2.jpg (472)
    2. IMG.jpg (477)
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 10:04, спустя 8 минут 50 секунд

    В принципе передал размер с 94 х 126 на 94 х 96
    1. IMG_1.jpg (459)
  • pasha

    Сообщения: 1048 Репутация: N Группа: Адекваты

    Spritz 24 сентября 2007 г. 10:51, спустя 47 минут 18 секунд

    Гг…все обрезается как надо…получается красиво…

    $im=imagecreatefromjpeg('img.jpg');
    if(imagesx($im) > imagesy($im))
    {
    $w = '126';
    $h = '94';
    }
    elseif(imagesx($im) < imagesy($im))
    {
    $w = '94';
    $h = '126';
    }
    elseif(imagesx($im) = imagesy($im))
    {
    $w = '94';
    $h = '94';
    }
    $im1=imagecreatetruecolor($w,$h);
    imagecopyresampled($im1,$im,0,0,0,0,$w,$h,imagesx($im),imagesy($im));
    imagejpeg($im1,'photo/img.jpg','100');
    imagedestroy($im);
    imagedestroy($im1);
  • adw0rd

    Сообщения: 22905 Репутация: N Группа: в ухо

    Spritz 25 сентября 2007 г. 2:31, спустя 15 часов 40 минут 4 секунды

    Молодца Паш! :)
    adw/0
  • TRIAL

    Сообщения: 988 Репутация: N Группа: Джедаи

    Spritz 25 сентября 2007 г. 3:46, спустя 1 час 14 минут 48 секунд

    напрягаем головку (то, которая на плечах) и пишем формулу для расчета размеров при изменении высоты и ширины фото. Впринцыпе ничего сложного.
    from TRIAL with LOVE

Пожалуйста, авторизуйтесь, чтобы написать комментарий!