Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Extensions > [gd] Вывод картинки


Автор: Anime 2.1.2007, 05:17
есть скрипт каторый считывает из каталога все картинки и выводит их в браузер.
Но я хочу сделать так чтоб при выводе он мне вывадил не в оригинальном разрешении а в том в катором я укажу в скрипте. Как это сделать?
Я использую вот этот скрипт(взят с php.net чуть изменен)
Код

<?php
// The file
$filename = 'test.jpg';

// Content type
header('Content-type: image/jpeg');

// Get new dimensions
list($width, $height) = getimagesize($filename);
$new_width = 120;
$new_height = 120;

// Resample
$image_p = imagecreatetruecolor($new_width, $new_height);
$image = imagecreatefromjpeg($filename);
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $new_width, $new_height, $width, $height);

// Output
imagejpeg($image_p, null, 100);
?>


Но тут вся проблема в хэдаре его же надо первым вызывать а у мя тама ещё много че выводится.

Да и вот ещё я немогу понять как вывести несколько картинок.
Ну например эот код выводит черный квадрат
Код

header('Content-type: image/jpeg');
$im = imagecreatetruecolor(123,123);
imagejpeg($im, null, 100);

А вот как сделать чтоб он мне выводил таких квадартов например 3 штуки?

Модератор: выбирайте форум для темы более внимательно. 
Модератор: название темы должно отражать ее суть

Автор: Blaga 2.1.2007, 09:59
Цитата(Anime @  2.1.2007,  10:17 Найти цитируемый пост)
А вот как сделать чтоб он мне выводил таких квадартов например 3 штуки?

Сделать цикл.
Цитата(Anime @  2.1.2007,  10:17 Найти цитируемый пост)
Но я хочу сделать так чтоб при выводе он мне вывадил не в оригинальном разрешении а в том в катором я укажу в скрипте

Я так понял что ты хочеш что бы он у тебя генерил на лету превьюшки. Если картинок будет достаточно много, то это хорошие тормоза на сорвер и соответственно долгая загрузка страниц. Короче, сделай лучше чтобы превью добавлялась всего один раз на сервер, при загрузке большой картинки на сервак, создается маленькая. А потом ее просто выводиш из директории и все.

Автор: Mal Hack 2.1.2007, 14:57
Цитата(Anime @  2.1.2007,  05:17 Найти цитируемый пост)
Но тут вся проблема в хэдаре его же надо первым вызывать а у мя тама ещё много че выводится.

Нельзя в одном буфере вывода совместить графику и текст.

Автор: PARROT 4.1.2007, 11:37
Anime, http://forum.vingrad.ru/topic-64345.html
Заглядывайте сюда http://forum.vingrad.ru/topic-77651.html чаще и пользуйтесь поиском при создании новых топиков, соблюдайте порядок.

Автор: Severyanin 1.8.2007, 10:43
Не понимаю, в чем дело. Стоит задача генерации картинки "на лету". 
$im = imagecreate(300,40); не работает. подключил php_gd2.dll. Скажите, в чем ошибка, пожалуйста. Вполне возможно, что в генах smile  

Автор: Oflashp 2.8.2007, 22:25
Код

if($file != '')
        {
        $filename = $file;
        if($width_resized == '')
                {
                $width_resized = 70;
                }
        $file_trunk = explode(".", $file);
        $file_new = $file_trunk[0]."_trumb_".$width_resized.".jpg";
        if(file_exists($file_new))
                {
                $trumb = imagecreatefromjpeg($file_new);
                imagejpeg($trumb);
                }
        else
                {
                // Get new sizes
                list($width, $height) = getimagesize($filename);
                $newwidth = $width_resized;
                $dev = $width/$width_resized;
                $newheight = $height/$dev;

                // Load
                $thumb = imagecreatetruecolor($newwidth, $newheight);
                $source = imagecreatefromjpeg($filename);

                // Resize
                //imagecopyresized($thumb, $source, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
                imagecopyresampled($thumb,$source,0,0,0,0,$newwidth,$newheight,$width,$height);
                // Output
                imagejpeg($thumb, $file_new);
                $trumb_2 = imagecreatefromjpeg($file_new);
                imagejpeg($trumb_2);
                }
        }

Вот код из моих разработок, проверяет - если миниатюра есть, то загружает...если нет. То создаёт

Автор: Severyanin 21.8.2007, 08:11
Спасибо, но проблема уже давно решена. Но код мог бы помочь, если бы был чуть раньше. С меня + smile 

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