|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
alpha channel on rrdtool PNG vs. TCPDFHello All!
I'm new on this list, and this is my first post. Creating a System to load the graph generated in PNG format from rrdtool with PHP 5, I was very sucefull. However, when I try to put it on a PDF utilizing TCPDF 3.1.001 PHP class, I got a error. TCPDF error: Alpha channel not supported: file.png This class has a limitation from loading PNG with transparent colors, it's a known bug not corrected yet, and this is the only format in common with rrdtool. So, I try to remove the PNG's alpha channel by rrdtool, definning every color with -c or in LINE/AREA/etc with the solid attribute (FF) on the end of color. It wasn't exactly a success :-( the error continues. Then I "googling" for PHP functions to find a way to remove the alpha channel, I already try to detect if exists a color with imagecolortransparent(), with another failure (it returns -1). Going to the point! How can I generate with rrdtool 1.2.x a PNG without a alpha channel? Or does anyone can point me the way to do this with another software on-the-fly? Thanks in advance -- Valter Douglas Lisbôa Jr. Sócio-Diretor Trenix - IT Solutions "Nossas Idéias, suas Soluções!" www.trenix.com.br contato@... Tel. +55 19 3402.2957 Cel. +55 19 9183.4244 _______________________________________________ rrd-users mailing list rrd-users@... https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users |
|
|
Re: alpha channel on rrdtool PNG vs. TCPDF (Solved)I solved it! So, I'm posting the solution for others with a similar problem
(Some versions of IE appear can't be capable to handle a PNG with transparency). It's a snip of my PHP OO code. ---------------------- snip ---------------------- // Creates a PDF with the graphs requireds. public function getPDF() { try { $pdf = new TCPDF(); $pdf->Open(); ... // A lot of boring PDF preparation code // Temporary file $png = tempnam("../tmp/", "graph"); // Calls the rrdtool command to generate the PNG $this->getCPU($png, ... other parameters ...); // // Load, Remove all alpha and save in a new file $img = ImageCreateFromPNG($png); imageAlphaBlending($img, false); imageSaveAlpha($img, false); imagePNG($img, "$png.png"); // Load to PDF $pdf->Image("$png.png", 30, 50); // Remove all temporaries unlink($png); unlink("$png.png"); // Put PDF on screen $pdf->Output(); } catch(Exception $err) { throw new Exception('Graph Exception: ' . $err->getMessage()); } } ---------------------- snip ---------------------- The tip is using imageAlphaBlending + imageSaveAlpha. The file size drops from 32KB to 21KB (better for me, I botter for PDF size ;-) ) and loads normally on TCPDF. Three hours of research before a I send the first post, more some minutes to "google" the solution after that! Never Give up! :-D If someone has another solution, it will be welcome. On Sunday 29 June 2008 12:39:09 Valter Douglas Lisbôa Jr. wrote: > Hello All! > > I'm new on this list, and this is my first post. > > Creating a System to load the graph generated in PNG format from rrdtool > with PHP 5, I was very sucefull. However, when I try to put it on a PDF > utilizing TCPDF 3.1.001 PHP class, I got a error. > > TCPDF error: Alpha channel not supported: file.png > > This class has a limitation from loading PNG with transparent colors, it's > a known bug not corrected yet, and this is the only format in common with > rrdtool. So, I try to remove the PNG's alpha channel by rrdtool, definning > every color with -c or in LINE/AREA/etc with the solid attribute (FF) on > the end of color. It wasn't exactly a success :-( the error continues. > > Then I "googling" for PHP functions to find a way to remove the alpha > channel, I already try to detect if exists a color with > imagecolortransparent(), with another failure (it returns -1). > > Going to the point! How can I generate with rrdtool 1.2.x a PNG without a > alpha channel? Or does anyone can point me the way to do this with another > software on-the-fly? > > Thanks in advance -- Valter Douglas Lisbôa Jr. Sócio-Diretor Trenix - IT Solutions "Nossas Idéias, suas Soluções!" www.trenix.com.br contato@... Tel. +55 19 3402.2957 Cel. +55 19 9183.4244 _______________________________________________ rrd-users mailing list rrd-users@... https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users |
|
|
Re: alpha channel on rrdtool PNG vs. TCPDF (Solved)I've used PNG files on TCPDF without any problem...
[]'s Lívio Zanol Puppim 2008/6/29 Valter Douglas Lisbôa Jr. <douglas@...>: > I solved it! So, I'm posting the solution for others with a similar problem > (Some versions of IE appear can't be capable to handle a PNG with > transparency). > > It's a snip of my PHP OO code. > > ---------------------- snip ---------------------- > // Creates a PDF with the graphs requireds. > public function getPDF() { > try { > $pdf = new TCPDF(); > $pdf->Open(); > > ... // A lot of boring PDF preparation code > > // Temporary file > $png = tempnam("../tmp/", "graph"); > > // Calls the rrdtool command to generate the PNG > $this->getCPU($png, ... other parameters ...); // > > // Load, Remove all alpha and save in a new file > $img = ImageCreateFromPNG($png); > imageAlphaBlending($img, false); > imageSaveAlpha($img, false); > imagePNG($img, "$png.png"); > > // Load to PDF > $pdf->Image("$png.png", 30, 50); > > // Remove all temporaries > unlink($png); > unlink("$png.png"); > > // Put PDF on screen > $pdf->Output(); > > } catch(Exception $err) { > throw new Exception('Graph Exception: ' . $err->getMessage()); > } > } > ---------------------- snip ---------------------- > > The tip is using imageAlphaBlending + imageSaveAlpha. The file size drops from > 32KB to 21KB (better for me, I botter for PDF size ;-) ) and loads normally > on TCPDF. > > Three hours of research before a I send the first post, more some minutes > to "google" the solution after that! Never Give up! :-D > > If someone has another solution, it will be welcome. > > On Sunday 29 June 2008 12:39:09 Valter Douglas Lisbôa Jr. wrote: >> Hello All! >> >> I'm new on this list, and this is my first post. >> >> Creating a System to load the graph generated in PNG format from rrdtool >> with PHP 5, I was very sucefull. However, when I try to put it on a PDF >> utilizing TCPDF 3.1.001 PHP class, I got a error. >> >> TCPDF error: Alpha channel not supported: file.png >> >> This class has a limitation from loading PNG with transparent colors, it's >> a known bug not corrected yet, and this is the only format in common with >> rrdtool. So, I try to remove the PNG's alpha channel by rrdtool, definning >> every color with -c or in LINE/AREA/etc with the solid attribute (FF) on >> the end of color. It wasn't exactly a success :-( the error continues. >> >> Then I "googling" for PHP functions to find a way to remove the alpha >> channel, I already try to detect if exists a color with >> imagecolortransparent(), with another failure (it returns -1). >> >> Going to the point! How can I generate with rrdtool 1.2.x a PNG without a >> alpha channel? Or does anyone can point me the way to do this with another >> software on-the-fly? >> >> Thanks in advance > > -- > Valter Douglas Lisbôa Jr. > Sócio-Diretor > Trenix - IT Solutions > "Nossas Idéias, suas Soluções!" > www.trenix.com.br > contato@... > Tel. +55 19 3402.2957 > Cel. +55 19 9183.4244 > > _______________________________________________ > rrd-users mailing list > rrd-users@... > https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users > -- []'s Lívio Zanol Puppim _______________________________________________ rrd-users mailing list rrd-users@... https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users |
|
|
Re: alpha channel on rrdtool PNG vs. TCPDF (Solved)Strange! What's the rrdtool/TCPDF version you use? All images generates by my
rrd caused the sames error, and only work with that code I post. On Monday 30 June 2008 12:49:18 Livio Zanol Puppim wrote: > I've used PNG files on TCPDF without any problem... > > []'s > Lívio Zanol Puppim > -- Valter Douglas Lisbôa Jr. Sócio-Diretor Trenix - IT Solutions "Nossas Idéias, suas Soluções!" www.trenix.com.br contato@... Tel. +55 19 3402.2957 Cel. +55 19 9183.4244 _______________________________________________ rrd-users mailing list rrd-users@... https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users |
| Free Forum Powered by Nabble | Forum Help |