[Lazarus] Get JPEG from TAChart in CGI app
Leonardo M. Ramé
l.rame at griensu.com
Sun Mar 20 22:16:00 CET 2011
On 2011-03-20 20:16:19 +0000, Henry Vermaak wrote:
> On 20 March 2011 19:42, Leonardo M. Ramé <l.rame at griensu.com> wrote:
> > On 2011-03-21 05:39:01 +1000, Alexander Klenin wrote:
> >> On Mon, Mar 21, 2011 at 05:30, Leonardo M. Ramé <l.rame at griensu.com> wrote:
> >> >> You have to link you CGI app with some graphic widgetset,
> >> >> which will unfortunately bloat an executable, but should otherwise work.
> >> >>
> >> >
> >> > Well, I tested that, but I get "Internal Server Error" from my Apache.
> >>
> >> What does the log show?
> >>
> >
> > [Sun Mar 20 16:30:09 2011] [error] [client ::1] (cgicharts:16246):
> > Gtk-WARNING **: cannot open display:
>
> Try using xvfb. This uses a virtual framebuffer that doesn't need a
> display. I've had to use it with a webserver before.
>
> Henry
>
Thanks Henry, it seems to almost work, at least I don't get the Cannot
Open Display error, but...
When I do this:
lChart.Width := 100;
lChart.Height := 100;
with lChart.SaveToImage(TJPEGImage) do
begin
SaveToStream(AResponse.ContentStream);
AResponse.ContentType := 'image/jpeg';
AResponse.ContentLength := AResponse.ContentStream.Size;
AResponse.SendContent;
end;
I get a black square of 100 x 100 pixels.
If I try this:
lChart.SaveToBitmapFile('test.bmp');
I get the error "Image palette is too big or absent" from my CGI.
--
Leonardo M. Ramé
http://leonardorame.blogspot.com
More information about the Lazarus
mailing list