> -----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