RE: [PHP-WIN] Output Image from Db to Browser

From: Date: Tue, 18 Jan 2005 21:37:48 +0000
Subject: RE: [PHP-WIN] Output Image from Db to Browser
References: 1  Groups: php.windows 
Request: Send a blank email to php-windows+get-25386@lists.php.net to get a copy of this message
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" <aaron.wagner@bankofamerica.com> > To: "MikeA" <mavila@mich.com>, 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:news@sea.gmane.org]On 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 > >

« previous php.windows (#25386) next »