📄 cairo-png-support.html
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html; charset=US-ASCII"><title>PNG Support</title><meta name="generator" content="DocBook XSL Stylesheets V1.68.1"><link rel="start" href="index.html" title="Cairo: A Vector Graphics Library"><link rel="up" href="Surfaces.html" title="Surfaces"><link rel="prev" href="cairo-PDF-Surfaces.html" title="PDF Surfaces"><link rel="next" href="cairo-PostScript-Surfaces.html" title="PostScript Surfaces"><meta name="generator" content="GTK-Doc V1.6 (XML mode)"><link rel="stylesheet" href="style.css" type="text/css"><link rel="part" href="pt01.html" title="Part I. Tutorial"><link rel="part" href="pt02.html" title="Part II. Reference"><link rel="chapter" href="Drawing.html" title="Drawing"><link rel="chapter" href="Fonts.html" title="Fonts"><link rel="chapter" href="Surfaces.html" title="Surfaces"><link rel="chapter" href="Support.html" title="Utilities"><link rel="index" href="ix01.html" title="Index"><link rel="appendix" href="language-bindings.html" title="Appendix A. Creating a language binding for cairo"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="cairo-PDF-Surfaces.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="Surfaces.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">Cairo: A Vector Graphics Library</th><td><a accesskey="n" href="cairo-PostScript-Surfaces.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr><tr><td colspan="5" class="shortcuts"><nobr><a href="#top_of_page" class="shortcut">Top</a>  |  <a href="#desc" class="shortcut">Description</a></nobr></td></tr></table><div class="refentry" lang="en"><a name="cairo-PNG-Support"></a><div class="titlepage"></div><div class="refnamediv"><table width="100%"><tr><td valign="top"><h2><span class="refentrytitle"><a name="top_of_page"></a>PNG Support</span></h2><p>PNG Support — Reading and writing PNG images</p></td><td valign="top" align="right"></td></tr></table></div><div class="refsynopsisdiv"><a name="synopsis"></a><h2>Synopsis</h2><pre class="synopsis"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-PNG-Support.html#cairo-image-surface-create-from-png">cairo_image_surface_create_from_png</a> (const char *filename);<a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> (<a href="cairo-PNG-Support.html#cairo-read-func-t">*cairo_read_func_t</a>) (void *closure, unsigned char *data, unsigned int length);<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* <a href="cairo-PNG-Support.html#cairo-image-surface-create-from-png-stream">cairo_image_surface_create_from_png_stream</a> (<a href="cairo-PNG-Support.html#cairo-read-func-t">cairo_read_func_t</a> read_func, void *closure);<a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> <a href="cairo-PNG-Support.html#cairo-surface-write-to-png">cairo_surface_write_to_png</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface, const char *filename);<a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> (<a href="cairo-PNG-Support.html#cairo-write-func-t">*cairo_write_func_t</a>) (void *closure, unsigned char *data, unsigned int length);<a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> <a href="cairo-PNG-Support.html#cairo-surface-write-to-png-stream">cairo_surface_write_to_png_stream</a> (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface, <a href="cairo-PNG-Support.html#cairo-write-func-t">cairo_write_func_t</a> write_func, void *closure);</pre></div><div class="refsect1" lang="en"><a name="desc"></a><h2>Description</h2><p></p></div><div class="refsect1" lang="en"><a name="details"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2583516"></a><h3><a name="cairo-image-surface-create-from-png"></a>cairo_image_surface_create_from_png ()</h3><a class="indexterm" name="id2583527"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_image_surface_create_from_png (const char *filename);</pre></div><hr><div class="refsect2" lang="en"><a name="id2584414"></a><h3><a name="cairo-read-func-t"></a>cairo_read_func_t ()</h3><a class="indexterm" name="id2584427"></a><pre class="programlisting"><a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> (*cairo_read_func_t) (void *closure, unsigned char *data, unsigned int length);</pre><p><a href="cairo-PNG-Support.html#cairo-read-func-t"><span class="type">cairo_read_func_t</span></a> is the type of function which is called when abackend needs to read data from an intput stream. It is passed theclosure which was specified by the user at the time the readfunction was registered, the buffer to read the data into and thelength of the data in bytes. The read function should returnCAIRO_STATUS_SUCCESS if all the data was successfully read,CAIRO_STATUS_READ_ERROR otherwise.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>closure</code></em> :</span></td><td> the input closure</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em> :</span></td><td> the buffer into which to read the data</td></tr><tr><td><span class="term"><em class="parameter"><code>length</code></em> :</span></td><td> the amount of data to read</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the status code of the read operation</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2584542"></a><h3><a name="cairo-image-surface-create-from-png-stream"></a>cairo_image_surface_create_from_png_stream ()</h3><a class="indexterm" name="id2584554"></a><pre class="programlisting"><a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a>* cairo_image_surface_create_from_png_stream (<a href="cairo-PNG-Support.html#cairo-read-func-t">cairo_read_func_t</a> read_func, void *closure);</pre></div><hr><div class="refsect2" lang="en"><a name="id2584586"></a><h3><a name="cairo-surface-write-to-png"></a>cairo_surface_write_to_png ()</h3><a class="indexterm" name="id2584597"></a><pre class="programlisting"><a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> cairo_surface_write_to_png (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface, const char *filename);</pre></div><hr><div class="refsect2" lang="en"><a name="id2584628"></a><h3><a name="cairo-write-func-t"></a>cairo_write_func_t ()</h3><a class="indexterm" name="id2584641"></a><pre class="programlisting"><a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> (*cairo_write_func_t) (void *closure, unsigned char *data, unsigned int length);</pre><p><a href="cairo-PNG-Support.html#cairo-write-func-t"><span class="type">cairo_write_func_t</span></a> is the type of function which is called when abackend needs to write data to an output stream. It is passed theclosure which was specified by the user at the time the writefunction was registered, the data to write and the length of thedata in bytes. The write function should returnCAIRO_STATUS_SUCCESS if all the data was successfully written,CAIRO_STATUS_WRITE_ERROR otherwise.</p><p></p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><em class="parameter"><code>closure</code></em> :</span></td><td> the output closure</td></tr><tr><td><span class="term"><em class="parameter"><code>data</code></em> :</span></td><td> the buffer containing the data to write</td></tr><tr><td><span class="term"><em class="parameter"><code>length</code></em> :</span></td><td> the amount of data to write</td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the status code of the write operation</td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2584755"></a><h3><a name="cairo-surface-write-to-png-stream"></a>cairo_surface_write_to_png_stream ()</h3><a class="indexterm" name="id2584767"></a><pre class="programlisting"><a href="cairo-Error-handling.html#cairo-status-t">cairo_status_t</a> cairo_surface_write_to_png_stream (<a href="cairo-cairo-surface-t.html#cairo-surface-t">cairo_surface_t</a> *surface, <a href="cairo-PNG-Support.html#cairo-write-func-t">cairo_write_func_t</a> write_func, void *closure);</pre></div></div></div></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -