Mike, I'm wondering, are you trying to send the image inline with the rest of the page, or is it response to an img tag?
Randy Clamons Systems Programming Astro-auction.com > ------------Original Message------------ > From: "Wagner, Aaron" <[EMAIL PROTECTED]> > To: "MikeA" <[EMAIL PROTECTED]>, php-windows@lists.php.net > Date: Tue, Jan-18-2005 12:53 PM > Subject: RE: [PHP-WIN] Output Image from Db to Browser > > > > > -----Original Message----- > > From: news [mailto:[EMAIL PROTECTED] Behalf Of MikeA > > Sent: January 17, 2005 17:31 > > To: php-windows@lists.php.net > > Subject: [PHP-WIN] Output Image from Db to Browser > > > > > > I am trying to output a JPG image to the browser without > > creating a file. I have tried several > > things but nothing seems to work. I sure could use a whole > > lot of help right now! LOL Going crazy > > trying to figure this out. But I know there are PHP gurus > > out there that will have the answer in 2 > > seconds. Hopefully I'll be at that level someday too! > > > > The image comes from a MySQL Blob. The closest I get is a > > string of garbage on the browser display. > > I cannot get it to display a pictures. > > > > Suggestions, comments, help, almost anything is appreciated. > > PLEASE help me! Project due in a week. > > > > Thanks in advance. > > > > Mike > > > > > > if( mysql_num_rows($result) == 1 ) > > { > > //header('Content-type: image/*'); > > $fileContent = mysql_result($result,0); //,$blobfield); > > echo $fileContent; > > > > //$theimage = imagecreatefromstring ($fileContent); > > > > //echo imagejpeg ( $theimage); > > > > -- > > PHP Windows Mailing List (http://www.php.net/) > > To unsubscribe, visit: http://www.php.net/unsub.php > > > > > > Here is how I'm doing it in a Call Flow setting. > > --------------------------------- > <?php > // -- program to dynamically create call flows from DB calls. > // -- The jpeg created here has to be within it's own frame\window with > it's own header. > // -- maybe a iframe. > > //variables passed into script > //$txt = 'sometext' > //$shapetype = 'eclipse' > //$shapetype = 'polygon' > //$shapetype = 'rectangle' > > if ($txt == ''){ > $txt = "A Simple Text string \n A Simple Text string \n A Simple > string A Simple Text string A Simple Text string A Simple Text string A > Simple Text string A Simple Text string A Simple Text string A Simple Text > string "; > }else if (substr($txt, 0,6) == '<html>'){ > print stripslashes($txt); > die(); > } > > switch($shapetype){ > case'eclipse': > $xshape_buffer = 25; > $yshape_buffer = 25; > break; > case'rectangle': > $xshape_buffer = 30; > $yshape_buffer = 50; > break; > case'polygon': > $xshape_buffer = 25; > $yshape_buffer = 25; > break; > } > // declare variables > $fontType = 5; > $fontPixelWidth = imagefontwidth($fontType); > $fontPixelHeight = imagefontheight($fontType); > $line_width = 50; > $txt_len = strlen($txt); > //------------------------ > > $arr_txtStart = preg_split("/\s\b/", $txt, -1, PREG_SPLIT_NO_EMPTY); > $num_lines = count($arr_txt); > > $s = ''; > $arr_txt=array(); > $i=0; > foreach($arr_txtStart as $word){ > $len_s = strlen($s); > $len_word = strlen($word) + 1; //add 1 for spaceadded > if(preg_match("/\r/i", $word )){ > // print "1-$i-$word1<br>"; > $s = $s." ".$word; > $arr_txt[$i] = trim($s); > $s = ''; > $i++; > }else if (($len_s + $len_word)<$line_width){ > // print "2-$i-$word<br>"; > $s = $s." ".$word; > }else{ > // print "3-$i-$word<br>"; > $arr_txt[$i] = trim($s); > $s = $word; > $i++; > } > } > $arr_txt[$i] = $s; //add the remaining text to the array > $num_lines = count($arr_txt); > // create a shape width set to $line_width plus ?? pixels as a buffer > $xsize = ($fontPixelWidth * $line_width) + $xshape_buffer; > $ysize = (($fontPixelHeight) * $num_lines) + $yshape_buffer; > > //print "x- $xsize y- $ysize"; > //die(); > if ($xsize < 475){ > $xsize = 475; > } > if ($ysize < 170){ > $ysize = 170; > } > > > //array_push($arr_txt, "x_size $xsize | y_size $ysize | str > len".strlen($txt) ); > //------------------------------------ > > $im = imagecreate ($xsize, $ysize) or die ("Cannot Initialize new GD > image stream"); > //$im = imagecreate(450, 150) or die ("Cannot Initialize new GD image > stream"); > > //header ("Content-type: image/jpeg"); > //$background_color = imagecolorallocate ($im, 229,255,150); //yellow > //$background_color = imagecolorallocate ($im, 255,255,255); //white > $background_color = imagecolorallocate ($im, 0,0,0); //black > $poly_color = imagecolorallocate ($im, 0, 150, 100); //green > $text_color = imagecolorallocate ($im, 255,255,255); //white > > //declare point values for the polygon > $p[0] = $xsize/2; > $p[1] = 0; > $p[2] = $xsize; > $p[3] = $ysize/2; > $p[4] = $xsize/2; > $p[5] = $ysize; > $p[6] = 0; > $p[7] = $ysize/2; > > if ($shapetype == "polygon"){ > imagefilledpolygon($im, $p, 4, $poly_color); > }else if($shapetype == "rectangle"){ > imagefilledrectangle ($im, 5, 5, ($xsize-5), ($ysize-5), $poly_color); > }else if($shapetype == "eclipse"){ > $poly_color = imagecolorallocate ($im, 246, 133, 137); //pink > imagefilledellipse ($im, ($xsize/2), ($ysize/2), ($xsize), ($ysize), > $poly_color); > }else{ > die("No Flow ID Selected"); > } > // --------------------------- string formatting > ------------------------------------- > //find the rough middle of the string > > if (strlen($txt) <= $line_width){ > $middle = (($xsize/2) - ($fontPixelWidth * (strlen($txt)/2))); > }else { > $middle = ($xsize/2) - ($fontPixelWidth * ($line_width/2)); > } > > if ($shapetype == "polygon"){ > //$poly_color = imagecolorallocate ($im, 255, 255, 255); > //$text_color = imagecolorallocate ($im, 0,0,0); > imagecolortransparent($im, $text_color); > imagerectangle ($im, 0, 0, ($xsize), ($ysize), $poly_color); > $nl=(($ysize/2)-(($num_lines/2)*$fontPixelHeight)); > }elseif ($shapetype == "eclipse"){ > if ($txt_len > 1000){ > $poly_color = imagecolorallocate ($im, 255, 255, 255); > $text_color = imagecolorallocate ($im, 0,0,0); > imagecolortransparent($im, $text_color); > imagerectangle ($im, 0, 0, ($xsize), ($ysize), $poly_color); > } > $nl=(($ysize/2)-(($num_lines/2)*$fontPixelHeight)); > array_push($arr_txt, ""); > array_push($arr_txt, ""); > $sp = ($xsize/2) - ($fontPixelWidth * 5); > $newsp = ($sp - $middle)/$fontPixelWidth; > for ($r=1;$r < $newsp;$r++){ > $spacer .= ' '; > } > //print "$sp | $newsp | $middle |$spacer|"; > array_push($arr_txt, "$spacer End of Flow"); > }elseif ($shapetype == "rectangle"){ > $nl=(($ysize/2)-(($num_lines/2)*$fontPixelHeight)); > } > > for ($i=0;$i < (count($arr_txt));$i++){ > imagestring ($im, $fontType, ($middle), ($nl), > trim(stripslashes($arr_txt[$i])), $text_color); > $nl += 12; > } > //sequence number in top left corner of flow > imagestring ($im, 0, (5), (5), $seqnum, $text_color); > //$seqnum > //$tmpfilename = 'temp'.(md5(uniqid("", TRUE))).'.jpg'; > //print $tmpfilename; > //die(); > > header ("Content-type: image/jpeg"); > ImageJPEG($im, "", 70); > imagedestroy($im); > ?> > ------------------------------------------- > > -- > PHP Windows Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php