1 <?php ob_start('ob_gzhandler') ?>
5 <meta http-equiv="X-UA-Compatible" content="chrome=1">
8 * o------------------------------------------------------------------------------o
9 * | This file is part of the RGraph package - you can learn more at: |
11 * | http://www.rgraph.net |
13 * | This package is licensed under the RGraph license. For all kinds of business |
14 * | purposes there is a small one-time licensing fee to pay and for non |
15 * | commercial purposes it is free to use. You can read the full license here: |
17 * | http://www.rgraph.net/LICENSE.txt |
18 * o------------------------------------------------------------------------------o
21 <title>RGraph: HTML5 canvas graph library - Retrieving a PNG of your graph</title>
23 <meta name="keywords" content="rgraph html5 canvas graph docs png image" />
24 <meta name="description" content="RGraph: HTML5 canvas graph library - Retrieving a PNG representation of your graph" />
26 <link rel="stylesheet" href="../css/website.css" type="text/css" media="screen" />
27 <link rel="icon" type="image/png" href="/favicon.png">
29 <script src="../libraries/RGraph.common.core.js" ></script>
30 <script src="../libraries/RGraph.common.context.js" ></script>
31 <script src="../libraries/RGraph.line.js" ></script>
32 <!--[if IE 8]><script src="../excanvas/excanvas.compressed.js"></script><![endif]-->
35 window.onload = function ()
37 var line = new RGraph.Line('cvs', [4,3,null,4,5,6,7,4,8,9]);
38 line.Set('chart.labels', ['Dez', 'Fliss','Geoff','Hoolio','John','Rich','Kev','Charles','Lou','Bob']);
39 line.Set('chart.hmargin', 5);
40 line.Set('chart.title', 'Retrieving a PNG of your graph (context menu)');
41 line.Set('chart.tickmarks', 'endcircle');
43 line.Set('chart.contextmenu', [
44 ['Get PNG', RGraph.showPNG],
46 ['Cancel', function () {}]
49 line.Set('chart.linewidth', 2);
50 line.Set('chart.shadow', true);
51 line.Set('chart.shadow.offsetx', 0);
52 line.Set('chart.shadow.offsety', 0);
53 line.Set('chart.shadow.blur', 15);
54 line.Set('chart.shadow.color', 'red');
56 RGraph.Clear(line.canvas, 'white'); // This effectively sets the background color to be white
64 <!-- Social networking buttons -->
65 <script src="../libraries/RGraph.common.core.js" ></script>
68 function HideTwitterDIV ()
70 document.getElementById("twitter_div").style.opacity = 0;
71 document.getElementById("twitter_div").style.display = 'none';
75 function ShowTwitterDIV (e)
77 var e = RGraph.FixEventObject(document.all ? event : e);
78 var div = document.getElementById("twitter_div");
79 var img = document.getElementById("twitter_icon");
81 div.style.display = 'block';
82 div.style.left = (RGraph.getCanvasXY(img)[0] + img.offsetWidth - div.offsetWidth + 110) + 'px';
83 div.style.top = (RGraph.getCanvasXY(img)[1] - 1) + 'px';
88 setTimeout('document.getElementById("twitter_div").style.opacity = 0.2;', 25);
89 setTimeout('document.getElementById("twitter_div").style.opacity = 0.4;', 50);
90 setTimeout('document.getElementById("twitter_div").style.opacity = 0.6;', 100);
91 setTimeout('document.getElementById("twitter_div").style.opacity = 0.8;', 125);
92 setTimeout('document.getElementById("twitter_div").style.opacity = 1.0;', 150);
100 * This code installs the event handler that hides the Twitter DIV
102 if (RGraph.isIE8()) {
103 window.attachEvent('onload', function () {document.body.attachEvent('onclick', HideTwitterDIV);});
105 window.addEventListener('click', HideTwitterDIV, false);
109 <!-- The twitter DIV -->
110 <div id="twitter_div" style="position: absolute;top: 0;left: 0;background-color: #eee;border: 2px dashed black;box-shadow: 0 0 15px #aaa;-moz-box-shadow: 0 0 15px #aaa;-webkit-box-shadow: 0 0 15px #aaa;padding: 3px;display: none;opacity: 0;z-index: 99;">
111 <a href="http://twitter.com/home/?status=RGraph%3A+HTML5+canvas+graph+library+based+on+the+HTML5+canvas+tag+http%3A%2F%2Fwww.rgraph.net+%23rgraph+%23html5+%23canvas" target="_blank" title="Share on Twitter" rel="nofollow" style="text-decoration: none">Tweet about RGraph</a><br>
112 <a href="http://twitter.com/_rgraph" style="text-decoration: none" rel="nofollow" target="_blank">Follow for HTML5 news</a>
115 <div id="social_icons" class="warning" style="top: 0; left: 5px; position: absolute">
118 if (navigator.userAgent.indexOf('Opera') == -1) {
119 document.getElementById("social_icons").style.position = 'fixed';
120 document.getElementById("twitter_div").style.position = 'fixed';
125 <b style="display: inline-block; position: relative; top: 1px">Bookmark and share:</b>
129 <a title="Bookmark with delicious" href="http://delicious.com/save?jump=close&v=4&noui&jump=close&url=http://www.rgraph.net¬es=RGraph%20is%20a%20HTML5%20based%20graph%20library%20supporting%20a%20wide%20range%20of%20different%20graph%20types:Bar,%20Bipolar,%20Donut,%20Funnel,%20Gantt,%20Horizontal%20Bar,%20LED,%20Line,%20Meter,%20Odometer,%20Pie,%20Progress%20Bar,%20Rose,%20RScatter,%20Scatter%20and%20Traditional%20Radar&title=RGraph:%20HTML5%20canvas%20graph%20library%20based%20on%20the%20HTML5%20canvas%20tag" target="_blank">
130 <img src="../images/delicious.png" alt="Bookmark with delicious" width="22" height="22" border="0" align="absmiddle" />
133 <a href="" target="_blank" onmouseover="if (document.getElementById('twitter_div').style.display == 'none') ShowTwitterDIV(event);" onclick="event.stopPropagation(); event.cancelBubble = true; return false">
134 <img src="../images/twitter.png" id="twitter_icon" alt="tweet this site" width="22" height="22" border="0" align="absmiddle" />
139 <a title="Post to Google Buzz!" href="" onclick="window.open('http://www.google.com/buzz/post?url=http://www.rgraph.net&imageurl=http://www.rgraph.net/images/logo.png', 'google_buzz_window', 'width=800,height=400,top=100,left=100'); return false">
140 <img src="../images/buzz.png" width="22" height="22" alt="Post to Google Buzz!" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
144 <a title="Share RGraph on Facebook" href="" onclick="window.open('http://www.facebook.com/sharer.php?u=http://www.rgraph.net&t=RGraph:%20HTML5%20canvas%20graph%20library', 'facebook_window', 'width=500,height=300,top=100,left=100'); return false">
145 <img src="../images/facebook.png" width="22" height="22" alt="Post to Facebook" align="absmiddle" style="position: relative; top: -2px; border: 0" border="0"/>
148 <a href="mailto:share@friendfeed.com" title="Share on FriendFeed">
149 <img src="../images/friendfeed.png" width="22" height="22" alt="Share on FriendFeed" border="0" align="absmiddle" />
152 <a href="http://www.stumbleupon.com/submit?url=http://www.rgraph.net" target="_blank" title="Share on StumbleUpon" >
153 <img src="../images/stumble.png" alt="Stumble! this site" width="22" height="22" border="0" align="absmiddle" />
158 <!-- /Social networking buttons -->
161 <div id="breadcrumb">
162 <a href="../index.html">RGraph: HTML5 canvas graph library</a>
164 <a href="index.html">Documentation</a>
166 Retrieving a PNG of your graph
169 <h1>RGraph: HTML5 canvas graph library - Retrieving a PNG of your graph</h1>
172 if (RGraph.isIE8()) {
173 document.write('<div style="background-color: #fee; border: 2px dashed red; padding: 5px"><b>Important</b><br /><br /> Internet Explorer 8 does not natively support the HTML5 canvas tag, so if you want to see the graphs, you can either:<ul><li>Install <a href="http://code.google.com/chrome/chromeframe/">Google Chrome Frame</a></li><li>Use ExCanvas. This is provided in the RGraph Archive.</li><li>Use another browser entirely. Your choices are Firefox 3.5+, Chrome 2+, Safari 4+ or Opera 10.5+. </li></ul> <b>Note:</b> Internet Explorer 9 fully supports the canvas tag. Click <a href="http://groups.google.com/group/rgraph/browse_thread/thread/c5651ff8c56b8f3c#" target="_blank">here</a> to see some screenshots.</div>');
182 border: 1px black solid;
184 background-color: rgba(225,225,225,0.5);
191 <div style="position: relative">
192 <span id="png_link" onclick="RGraph.showPNG(document.getElementById('cvs'), event);">Get PNG</span>
193 <canvas id="cvs" width="600" height="250" style="float: left">[No canvas support]</canvas>
198 RGraph provides an easy way to get a PNG image of your graph. This allows you to
199 easily save the image locally to use in (for example) a document, spreadsheet or presentation.
203 Originally, the function was designed to be used with a context menu, so it is located in the <i>RGraph.common.context.js</i>.
204 Now though, you do not have to use the function with a context menu, and can instead pass in the canvas as the optional argument. There's an
205 example of its usage on the first <a href="../examples/tradar.html">Tradar example</a href>.
210 <p>Include the context menu code:</p>
211 <pre class="code"><script src="../libraries/RGraph.common.context.js" ></script></pre>
213 <p>Add the context menu:</p>
215 myGraph.Set('chart.contextmenu', [
216 <span style="color: green">['Get PNG', RGraph.showPNG]</span>,
218 ['Cancel', function () {}]
221 <h4>Using the function without a context menu</h4>
224 If you want to use the function with a piece of text (or an image) as the "link", optionally positioned over the canvas, you can pass
225 the canvas into the function as an argument, along with the event object.
229 <!-- This CSS positions the link over the top right of the canvas -->
235 border: 1px black solid;
237 background-color: #eee;
242 <div style="position: relative">
243 <span id="png_link" <span style="color: green">onclick="RGraph.showPNG(myCanvas, event)"</span>>Get PNG</span>
244 <canvas id="cvs" width="600" height="250">[No canvas support]</canvas>