You're close to getting it right. The binmode line is not needed and the send_file should just be a return (as Corion had suggested). Below is a copy of your code with these changes.
get '/image' => sub { # create a new image my $im = new GD::Image(100,100); # allocate some colors my $white = $im->colorAllocate(255,255,255); my $black = $im->colorAllocate(0,0,0); my $red = $im->colorAllocate(255,0,0); my $blue = $im->colorAllocate(0,0,255); # make the background transparent and interlaced $im->transparent($white); $im->interlaced('true'); # Put a black frame around the picture $im->rectangle(0,0,99,99,$black); # Draw a blue oval $im->arc(50,50,95,75,0,360,$blue); # And fill it with red $im->fill(50,50,$red); content_type 'image/png'; #binmode STDOUT;#don't think this makes a diff. #send_file($im->png); return $im->png; };
In reply to Re: serving an image with dancer and GD
by dasgar
in thread serving an image with dancer and GD
by gideondsouza
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |