Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Глюк с изображениями

439
12 августа 2006 года
Rexulnik
217 / / 09.02.2005
Всем привет!
Я хочу сделать сжатие картинок средствами PHP, вывод картинки работает, а следующие нет... может глюк в хэдере? вот код:
Код:
function OutputSmallImage($f, $type)
{
    $type = 2;
    $dest = 0;
    if ($type == 0) $w = 70;
    if ($type == 1) $w = 90;
    if ($type == 2) $w = 300;

    if (!isset($q))
    $q = 100;

    $src = imagecreatefromjpeg($f);
    $w_src = imagesx($src);
    $h_src = imagesy($src);

    header("Content-type: image/jpeg");
    if ($w_src != $w)
    {
        if ($type==2)
        {
            $ratio = $w_src/$w;
            $w_dest = round($w_src/$ratio);
            $h_dest = round($h_src/$ratio);

            $dest = imagecreatetruecolor($w_dest,$h_dest);
            $str = "foxweb.net.ru";
            imagecopyresized($dest, $src, 0, 0, 0, 0, $w_dest, $h_dest, $w_src, $h_src);

            $size = 2;
            $x_text = $w_dest-imagefontwidth($size)*strlen($str)-3;
            $y_text = $h_dest-imagefontheight($size)-3;

            $white = imagecolorallocate($dest, 255, 255, 255);
            $black = imagecolorallocate($dest, 0, 0, 0);
            $gray = imagecolorallocate($dest, 127, 127, 127);
            if (imagecolorat($dest,$x_text,$y_text)>$gray)
            $color = $black;
            if (imagecolorat($dest,$x_text,$y_text)<$gray)
            $color = $white;

            imagestring($dest, $size, $x_text-1, $y_text-1, $str,$white-$color);
            imagestring($dest, $size, $x_text+1, $y_text+1, $str,$white-$color);
            imagestring($dest, $size, $x_text+1, $y_text-1, $str,$white-$color);
            imagestring($dest, $size, $x_text-1, $y_text+1, $str,$white-$color);

            imagestring($dest, $size, $x_text-1, $y_text, $str,$white-$color);
            imagestring($dest, $size, $x_text+1, $y_text, $str,$white-$color);
            imagestring($dest, $size, $x_text, $y_text-1, $str,$white-$color);
            imagestring($dest, $size, $x_text, $y_text+1, $str,$white-$color);

            imagestring($dest, $size, $x_text, $y_text, $str,$color);
        }

        if (($type == 0) || ($type == 1))
        {
            $dest = imagecreatetruecolor($w,$w);

            if ($w_src>$h_src)
            imagecopyresized($dest, $src, 0, 0, round((max($w_src,$h_src)-min($w_src,$h_src))/2), 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));

            if ($w_src<$h_src)
            imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w, min($w_src,$h_src), min($w_src,$h_src));

            if ($w_src == $h_src)
            imagecopyresized($dest, $src, 0, 0, 0, 0, $w, $w, $w_src, $w_src);
        }

        imagejpeg($dest, '', $q);
        imagedestroy($dest);
        imagedestroy($src);
    }
    header("Content-type: text/html");
}

OutputSmallImage("image1.jpg", 2);
OutputSmallImage("image2.JPG", 2);

Помогите плиз, очень надо!
Заранее спасибо!

[COLOR="DarkRed"]======================
Неужели так трудно код нормально оформить?[/COLOR]
345
13 августа 2006 года
vadim_k
312 / / 01.08.2006
Первое что бросается в глаза
Нельзя использовать в одном выходном потоке
разные заголовки header
если используешь
header("Content-type: image/jpeg");
то
header("Content-type: text/html");
в скрипте использовать уже нельзя !!
8
13 августа 2006 года
mfender
3.5K / / 15.06.2005
[QUOTE=Rexulnik]Всем привет!
Я хочу сделать сжатие картинок средствами PHP, вывод картинки работает, а следующие нет... может глюк в хэдере?
[/QUOTE]
Как можно в один поток отправить и IMAGE и TEXT? Никак. Разделять надо.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог