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

Reply via email to