[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Изображение с ограниченым размером
Страницы: 1, 2
Alex149149
Доброго времени суток. Посоветуйте в какую сторону копать.


<?php
// Create image instances
$src = imagecreatefromjpeg('img.jpeg');
$dest = imagecreatetruecolor(300, 400);

// Copy
imagecopy($dest, $src, 0, 0, 20, 13, 300, 400);

// Output and free from memory
header('Content-Type: image/jpeg');
imagejpeg($dest);

imagedestroy($dest);
imagedestroy($src);
?>

выводит в браузере (любом) изображение не полностью, оно ограничено по размеру в 8,0 KБ (8 192 байт)
сама img.jpeg естественно больше 300 x 400 пикселей

GD Version enabled bundled (2.0.34 compatible)
Пробовал на аналогичном сервере с такойже библиотекой, все тоже самое.

Самое интересное до этого все работало и изображения выводились полностью, не ограничивались по размеру, и в один прекрасный день просто перестало корректно работать.
DedMorozzz
Что выдаёт
imagecopy($dest, $src, 20, 13, 0, 0, 300, 400);
http://php.net/manual/en/function.imagecopy.php

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Alex149149
imagecopy($dest, $src, 0, 0, 0, 0, 700, 700);
накладываю по координатам 0, 0. результат тот же. изображение с размерами 700х700 выводится втреть, точнее как я писал, размер не превышает 8,0 KБ (8 192 байт)

P.S. добавлял в код
set_time_limit(0);
результат тот же
Принемаю любые предложения решения. Бьюсь целый месяц... уже не знаю что и думать
killer8080
Цитата (Alex149149 @ 26.12.2012 - 09:39)
Самое интересное до этого все работало и изображения выводились полностью, не ограничивались по размеру, и в один прекрасный день просто перестало корректно работать.

не верю, быть такого не может! imagecopy никогда ресайза не делала по определению, для этих целей есть imagecopyresampled
Alex149149
так я не меняю размеры, я накладываю изображение одно на другое. или я в чем то ошибаюсь.
именно в 8,0 KБ (8 192 байт) ограничение. такое тоже неспроста.
В imagecopy ставлю размеры "Ширина исходного изображения" и "Высота исходного изображения" непосредственно те, что у накладываемого изображения.
killer8080
Цитата (Alex149149 @ 26.12.2012 - 09:39)
// Create image instances
$src = imagecreatefromjpeg('img.jpeg');
$dest = imagecreatetruecolor(300, 400);

Цитата (Alex149149 @ 26.12.2012 - 09:39)
сама img.jpeg естественно больше 300 x 400 пикселей

Цитата (Alex149149 @ 26.12.2012 - 09:39)
Самое интересное до этого все работало и изображения выводились полностью, не ограничивались по размеру

как оно может выводится полностью, если источник больше конечного изображения? Без ресайза.
killer8080
Цитата (Alex149149 @ 26.12.2012 - 13:58)
В imagecopy ставлю размеры "Ширина исходного изображения" и "Высота исходного изображения" непосредственно те, что у накладываемого изображения.

И что? Он его и обрежет под размер dst.
Alex149149

<?php
header('Content-Type: image/jpeg');
// Create image instances
$src = imagecreatefromjpeg('image.jpeg');
$dest = imagecreatetruecolor(314, 399);

// Copy
imagecopy($dest, $src, 0, 0, 0, 0, 314, 399);

// Output and free from memory
imagejpeg($dest);

imagedestroy($dest);
imagedestroy($src);
?>

размер изображения image.jpeg 314х399
в чем ошибка может быть?
Выводит ровно 8,0 KБ (8 192 байт) изображения в браузер, соответственно обрезая само изображения по вертикали, т.е. не 314 на 399, а 314 на (меньше 399 (примерно треть))
killer8080
Цитата (Alex149149 @ 26.12.2012 - 14:41)
, т.е. не 314 на 399, а 314 на (меньше 399 (примерно треть))

так не должно быть, а как просматриваешь картинку? В теле страницы? Если да, открой её непосредственно в браузере. И что значит "примерно треть"? Посмотри в свойствах картинки её размер.
Alex149149
В браузере отображается чуть меньше 1/3 при клике (в браузере) на свойства 314 на 399.
Сохраняем изображение на компьютер
Вот в таком виде он сохраняется
Alex149149
А вот оригинал $src = imagecreatefromjpeg('image.jpeg');
killer8080
Alex149149
скорей всего картинка была недокачана на серевер.
Alex149149
картинка хранится (находится) на самом сервере(там где файл php). как она может быть недокаченой.
Или недокаченой самой функцией $src = imagecreatefromjpeg('image.jpeg'); Вы имеете ввиду ???
killer8080
Цитата (Alex149149 @ 26.12.2012 - 16:19)
картинка хранится (находится) на самом сервере(там где файл php). как она может быть недокаченой.

а как она туда попала?
Я имею ввиду что возможно файл поврежден, попробуй его перезалить.
Alex149149
это собственное "железо". т.е. есть прямой доступ. в моем сообщение выше, под оригиналом имелось ввиду что на жестком диске именно это изображение (не битое, не обрезаное). извеняюсь, если ввел вас в заблуждение.
изображение менялось на другое. результат тот же - ограничение 8 КБ. как будто где-то в настройках что-то поменялось. Хотя, повторяюсь, ничего не менялось и на аналогичном сервере пробывал, все тоже.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.