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


Автор: =Женек= 9.1.2006, 11:47
Вывожу картинку из базы данных следующим образом:

Код

$query=mysql_query("SELECT $s_image FROM $table WHERE id='{$object}'",$conn);
$item=mysql_fetch_array($query);


$img=$item[0];
//$white=ImageColorAllocate($img, 0, 0, 0);
//ImageLine($img,0,0,50,30, $white);
header("Content-type: image/jpg");
print $img;


Выводит картинку без проблем.
Убираю комментарии, чтобы нарисовать че-нить - пишет :
Warning: imagecolorallocate(): supplied argument is not a valid Image resource in c:\www\web\catalog\img.php on line 21

Warning: imageline(): supplied argument is not a valid Image resource in c:\www\web\catalog\img.php on line 22






Автор: Mal Hack 9.1.2006, 12:08
В БД У тебя сама картинка храниться, а не ее ресурс.
http://forum.vingrad.ru/index.php?showtopic=74392

Автор: =Женек= 9.1.2006, 12:45
И что с того?

В теме, что ты привел рассматривается вариант сохранения картинки в файле. Что ж мне сначала сохранять, а потом с диска выводить?

Mal-hack, если вы не поняли задачу, я вам разжую: есть поле типа blob, в нем картинка, которая без проблем вытаскиваетс я и выводится на экран. Но я хочу перед этим ее обработать. Уменьшить. Можете мне сказать, как из картинки, превратить ее в ресурс smile , или как всегда будете отвечать обрывками фраз?

Автор: Illuminaty 9.1.2006, 13:09
Код
<?php
$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';
$data = base64_decode($data);

$im = imagecreatefromstring($data);
http://www.php.net/manual/ru/function.imagecreatefromstring.php рулят smile

Автор: =Женек= 9.1.2006, 13:15
эх... хорошие мануалы рулят. в моем мануале imagecreateFromstring не было. Что ж... это не оправдание.

Спасибо!
Добавлено @ 13:21
Код

$data = 'iVBORw0KGgoAAAANSUhEUgAAABwAAAASCAMAAAB/2U7WAAAABl'
       . 'BMVEUAAAD///+l2Z/dAAAASUlEQVR4XqWQUQoAIAxC2/0vXZDr'
       . 'EX4IJTRkb7lobNUStXsB0jIXIAMSsQnWlsV+wULF4Avk9fLq2r'
       . '8a5HSE35Q3eO2XP1A1wQkZSgETvDtKdQAAAABJRU5ErkJggg==';

$data = base64_decode($data);


$img=ImageCreateFromString($data);

header("Content-type: image/png");
print $img;




Не... не рулят Ваши мануалы. Выводит на экран "Resource id #1 "

Ипользую GD2

Автор: =Женек= 9.1.2006, 13:34
эх... кто ищет, то всегда находит. Вот что рулит:

Код


header("Content-type: image/jpg");
Imagejpeg($img);

Автор: Illuminaty 9.1.2006, 13:35
Мануалы рулят
Код

mysql_connect("localhost", "root", "");
mysql_select_db("testdb");
$sql_res = mysql_query("select * from `test`");
$arr = mysql_fetch_assoc($sql_res);
$im = imagecreatefromstring($arr["im"]);
header("Content-type: image/png");
imagepng($im);

Добавлено @ 13:36
Цитата(=Женек= @ 9.1.2006, 14:34 Найти цитируемый пост)

эх... кто ищет, то всегда находит. Вот что рулит:
Так в принципе, я думал, ты знаешь как изображение вывести в поток smile

Автор: =Женек= 9.1.2006, 13:42
не стыдно не знать )))

Автор: Illuminaty 9.1.2006, 13:55
[offtop]
Цитата(=Женек= @ 9.1.2006, 14:42 Найти цитируемый пост)
не стыдно не знать )))
Стыдно - не хотеть самому разобраться smile
[/offtop]

Автор: Mal Hack 9.1.2006, 14:38
=Женек= хамить не надо, задачу я прекрасно понял.
Illuminaty base64 лишнее, малость.
=Женек= вопрос был решен или проблема актуальна?

Автор: Illuminaty 9.1.2006, 14:54
Mal Hack, в первом примере - не лишнее.
А когда берем из базы, то тогда я его и не использую

Автор: Mal Hack 9.1.2006, 14:59
Ага, попутал малость smile

Автор: sergejzr 9.1.2006, 16:45
Модератор: Название темы должно отражать ее суть!

Автор: wsr 27.1.2006, 20:12
=Женек= чтож у тебя за мануалы то такие. Скачай с php.net и не парься.

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