Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Графика > Функция imagecreatefrom...


Автор: TPETb 7.11.2005, 11:27
Скажите пожалуйста, как разрешить такую проблемку: форме посетитель задает URL картинки, далее мне нужно поработать с этой картинкой(но это не важно т.к. к делу не относится=)).
Так вот проблема в том, что заранее не известно в каком формате будет картинка. Иными словами я не могу просто написать imagecreatefromjpeg(...); или тому подобное.
Я думаю, это можно реализовать чем-то вроде

if (...)
{
imagecreatefrom...(...);
}
if (...)
{
imagecreatefrom...(...);
}

Но мне кажется есть более профессиональный способ как это сделать. Напишите пожалуйста, буду очень благодарен.

Автор: Mal Hack 7.11.2005, 14:46
А как ты собрался работать с картинкой?
Вообще можно тип картинки узнать через getimagesize().

Автор: Guest 7.11.2005, 15:38
Принцип работы скрипта:
-Посетитель вводит URL картинки и каку-нибудь надпись
-Скрипт пишет эту надпись поверх картинки и выводит на экран

Вообщем-то я уже сделал скрипт... Но он работает только джейпегами пока. Наверно можно написать что-то вроде
if (фаил вида *.jpg)
{
$im=imagecreatefromjpeg(...);
}
if (вида *.gif)
{
$im=imagecreatefromgif(...);
}

и так далее.... Но мне кажется, что должен быть более логичный подход к решению проблемы...

Автор: Mal Hack 7.11.2005, 15:53
Цитата(Guest @ 7.11.2005, 16:38)
и так далее.... Но мне кажется, что должен быть более логичный подход к решению проблемы...

Показать удаленную картинку сверху положив прозрачный слой с текстом smile

Автор: TPETb 8.11.2005, 19:15
не... не катит... тут смысл в том чтобы на выходе была именно картинка.... или я что-то не до конца понял?

Автор: Mal Hack 8.11.2005, 19:56
Тогда самый оптимальный вариант.
Цитата(Guest @ 7.11.2005, 16:38)
if (фаил вида *.jpg)
{
$im=imagecreatefromjpeg(...);
}
if (вида *.gif)
{
$im=imagecreatefromgif(...);
}


Автор: DemoCode 11.11.2005, 15:35
Код
function loadImageByType($filename,$type)
    {    
        switch($type)
        {
            case IMAGETYPE_GIF:
                return @imagecreatefromgif($filename);
            case IMAGETYPE_JPEG:
                return @imagecreatefromjpeg($filename);
            case IMAGETYPE_PNG:
                return @imagecreatefrompng($filename);
            default:
                return false;
        }
    }

list ($width, $height, $type) = getimagesize ($filename);
$source = loadImageByType($filename, $type);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)