亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? z132.html

?? GTK+_ Gnome Application Development
?? HTML
?? 第 1 頁 / 共 3 頁
字號:
          </p>        </div>      </div>      <div class="SECT2">        <h2 class="SECT2">          <a name="SEC-GDKRGB">RGB Buffers</a>        </h2>        <p>          GDK's GdkRGB module allows you to copy a client-side          buffer of image data to a drawable. If you need to          manipulate images extensively, or copy image data to the          server, this is the correct way to do it. You can't          directly manipulate a <span class="STRUCTNAME">          GdkPixmap</span> because a pixmap is a server-side          object. Copying image data to the server with <tt class=           "FUNCTION">gdk_draw_point()</tt> would be unbelievably          slow, since each point would require a server request          (probably more than one, since you will need to change          the GC for each point).        </p>        <p>          Internally, GdkRGB uses an object called <span class=           "STRUCTNAME">GdkImage</span> to rapidly copy image data          to the server in a single request. This is still somewhat          slow---sizeable data does have to be copied---but GdkRGB          is highly tuned and uses shared memory if the client and          server happen to be on the same machine. So it's the          fastest way to perform this task, given the X          architecture. It will also handle some tricky issues for          you (such as adapting to the colormaps and visuals          available on a given X server).        </p>        <p>          The GdkRGB functions are in a separate header, <tt class=           "FILENAME">gdk/gdkrgb.h</tt>. Before using any GdkRGB          functions, you must initialize the module with <tt class=           "FUNCTION">gdk_rgb_init()</tt> (<a href=           "z132.html#FL-GDKRGB">Figure 24</a>); this sets up the          visual and colormap GdkRGB will use, and some internal          data structures.        </p>        <p>          The drawable you intend to copy the RGB buffer to must          use GdkRGB's visual and colormap. If the drawable is a          part of a widget, the easiest way to ensure this is to          push the GdkRGB visual and colormap when you create the          widget:        </p>        <table border="0" bgcolor="#E0E0E0" width="100%">          <tr>            <td><pre class="PROGRAMLISTING">&#13;  GtkWidget* widget;  gtk_widget_push_visual(gdk_rgb_get_visual());  gtk_widget_push_colormap(gdk_rgb_get_cmap());  widget = gtk_whatever_new();  gtk_widget_pop_visual();  gtk_widget_pop_colormap();&#13;</pre>            </td>          </tr>        </table>        <p>          The current version of GTK+ will be better-behaved if you          do this when creating the toplevel window containing the          drawable, instead of when creating the drawable itself.          However, in principle you can do it for only the          drawable.        </p>        <p>          GdkRGB understands several kinds of image data, including          24- and 32-bit RGB data, 8-bit grayscale, and 8-bit          indexes into an array of RGB values (a client-side <span          class="STRUCTNAME">GdkRgbCmap</span>). This section          describes only the simplest, 24-bit RGB data; this kind          of buffer is rendered with <tt class="FUNCTION">          gdk_draw_rgb_image()</tt>. There are separate functions          to render the other buffer types, but all of them work in          essentially the same way.        </p>        <p>          A 24-bit RGB buffer is a one-dimensional array of bytes;          every byte triplet makes up a pixel (byte 0 is red, byte          1 is green, byte 2 is blue). Three numbers describe the          size of the array and the location of bytes within it:        </p>        <ul>          <li>            <p>              The <i class="FIRSTTERM">width</i> is the number of              pixels (byte triplets) per row of the image.&#13;            </p>          </li>          <li>            <p>              The <i class="FIRSTTERM">height</i> is the number of              rows in the image.&#13;            </p>          </li>          <li>            <p>              The <i class="FIRSTTERM">rowstride</i> is the number              of bytes between rows. That is, for a buffer with              rowstride <i class="EMPHASIS">r</i>, if row <i class=               "EMPHASIS">n</i> starts at array index <i class=               "EMPHASIS">i</i> row <i class="EMPHASIS">n+1</i>              starts at array index <i class="EMPHASIS">i+r</i>.              The rowstride is not necessarily three times the              buffer's width; GdkRGB is faster if both the source              pointer and the rowstride are aligned to a 4-byte              boundary. Specifying a rowstride allows you to use              padding to achieve this.&#13;            </p>          </li>        </ul>        <p>          The <span class="STRUCTNAME">x</span>, <span class=           "STRUCTNAME">y</span>, <span class="STRUCTNAME">          width</span>, and <span class="STRUCTNAME">height</span>          arguments to <tt class="FUNCTION">          gdk_rgb_draw_image()</tt> define a region of the target          drawable to copy the RGB buffer to. The RGB buffer must          have at least <span class="STRUCTNAME">width</span>          columns and <span class="STRUCTNAME">height</span> rows.          Row 0, column 0 of the RGB buffer will be copied to point          (<span class="STRUCTNAME">x</span>, <span class=           "STRUCTNAME">y</span>) on the drawable.        </p>        <p>          Dithering simulates a larger number of colors on displays          with a limited palette. Dithering only matters on 8- and          16-bit displays; 24-bit displays do not have a limited          palette. The <span class="STRUCTNAME">dither</span>          argument is an enumerated type; it has three possible          values:        </p>        <ul>          <li>            <p>              <span class="STRUCTNAME">GDK_RGB_DITHER_NONE</span>              specifies that no dithering will be done. It's              appropriate for text or line drawings with few              colors, but inappropriate for photographic images.              &#13;            </p>          </li>          <li>            <p>              <span class="STRUCTNAME">GDK_RGB_DITHER_NORMAL</span>              specifies dithering on 8-bit displays, but not 16-bit              displays. This is usually the best              quality/performance tradeoff. &#13;            </p>          </li>          <li>            <p>              <span class="STRUCTNAME">GDK_RGB_DITHER_MAX</span>              specifies that dithering will always be done on 8-              and 16-bit displays. The quality gain on 16-bit              displays is probably not worth the speed              penalty.&#13;            </p>          </li>        </ul>        <p>          The <span class="STRUCTNAME">gc</span> argument to <tt          class="FUNCTION">gdk_draw_rgb_image()</tt> is simply          passed through to <tt class="FUNCTION">          gdk_draw_image()</tt> (recall that GdkRGB uses <span          class="STRUCTNAME">GdkImage</span> internally). The <span          class="STRUCTNAME">gc</span> components that make sense          are used (such as the clip mask, drawing function, and          subwindow mode).        </p>        <div class="FIGURE">          <a name="FL-GDKRGB"></a>          <div class="FUNCSYNOPSIS">            <a name="FL-GDKRGB.SYNOPSIS"></a>            <table border="0" bgcolor="#E0E0E0" width="100%">              <tr>                <td><pre class="FUNCSYNOPSISINFO">#include &lt;gdk/gdkrgb.h&gt;</pre>                </td>              </tr>            </table>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">gdk_rgb_init</tt></code>(void);</code>            </p>            <p>              <code><code class="FUNCDEF">GdkColormap* <tt class=               "FUNCTION">gdk_rgb_get_cmap</tt></code>(void);</code>            </p>            <p>              <code><code class="FUNCDEF">GdkVisual* <tt class=               "FUNCTION">              gdk_rgb_get_visual</tt></code>(void);</code>            </p>            <p>              <code><code class="FUNCDEF">void <tt class=              "FUNCTION">              gdk_draw_rgb_image</tt></code>(GdkDrawable* <tt              class="PARAMETER"><i>drawable</i></tt>, GdkGC* <tt              class="PARAMETER"><i>gc</i></tt>, gint <tt class=               "PARAMETER"><i>x</i></tt>, gint <tt class=              "PARAMETER"><i>y</i></tt>, gint <tt class=              "PARAMETER"><i>width</i></tt>, gint <tt class=               "PARAMETER"><i>height</i></tt>, GdkRGBDither <tt              class="PARAMETER"><i>dither</i></tt>, guchar* <tt              class="PARAMETER"><i>rgb_buf</i></tt>, gint <tt              class="PARAMETER"><i>rowstride</i></tt>);</code>            </p>          </div>          <p>            <b>Figure 24. GdkRGB</b>          </p>        </div>      </div>    </div>    <div class="NAVFOOTER">      <br>      <br>      <table width="100%" border="0" bgcolor="#ffffff" cellpadding=       "1" cellspacing="0">        <tr>          <td width="25%" bgcolor="#ffffff" align="left">            <a href="sec-gc.html"><font color="#0000ff" size="2">            <b>&lt;&lt;&lt; Previous</b></font></a>          </td>          <td width="25%" colspan="2" bgcolor="#ffffff" align=           "center">            <font color="#0000ff" size="2"><b><a href="ggad.html">            <font color="#0000ff" size="2"><b>            Home</b></font></a></b></font>          </td>          <td width="25%" bgcolor="#ffffff" align="right">            <a href="sec-gdkresourcemgmt.html"><font color=            "#0000ff" size="2"><b>Next &gt;&gt;&gt;</b></font></a>          </td>        </tr>        <tr>          <td colspan="2" align="left">            <font color="#000000" size="2"><b>Graphics            Contexts</b></font>          </td>          <td colspan="2" align="right">            <font color="#000000" size="2"><b>GDK Resource            Management</b></font>          </td>        </tr>      </table>    </div>  </body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩一区二区在线观看视频 | 国产精品女上位| 亚洲素人一区二区| 国产最新精品精品你懂的| 在线免费观看日韩欧美| 欧美韩日一区二区三区| 久久精品久久99精品久久| 色偷偷久久一区二区三区| 亚洲国产精品v| 激情亚洲综合在线| 91精品国产综合久久香蕉的特点 | 亚洲成人午夜影院| 国产一区欧美一区| 欧美嫩在线观看| 亚洲一区电影777| 91丨九色丨尤物| 中文字幕一区二区在线观看 | 国产视频在线观看一区二区三区| 日韩国产一区二| 欧美性videosxxxxx| 亚洲视频一区二区在线观看| 成人精品小蝌蚪| 国产亚洲精品久| 国产成人精品网址| 国产亚洲成aⅴ人片在线观看| 蓝色福利精品导航| 欧美一区二区三区喷汁尤物| 亚洲超丰满肉感bbw| 精品少妇一区二区三区日产乱码| 亚洲电影第三页| 欧美视频在线一区| 理论片日本一区| 精品粉嫩aⅴ一区二区三区四区| 天堂一区二区在线免费观看| 欧美日韩国产高清一区二区| 奇米色777欧美一区二区| 欧美一激情一区二区三区| 蜜乳av一区二区| xnxx国产精品| 国产成人av一区二区| 国产精品青草综合久久久久99| 99久久99久久精品免费看蜜桃| 亚洲精品中文在线| 91精品欧美久久久久久动漫| 久久超碰97中文字幕| 久久久精品国产免费观看同学| 日本中文字幕不卡| 欧美成人精品3d动漫h| 国产黄色精品视频| 亚洲美女一区二区三区| 在线成人免费视频| 国产一区福利在线| 亚洲精品久久7777| 欧美一区二区三区在线视频| 国产自产高清不卡| 亚洲色图欧美偷拍| 5858s免费视频成人| 精品一区二区成人精品| 亚洲欧美影音先锋| 欧美裸体bbwbbwbbw| 国产精品一二三四五| 亚洲男人的天堂在线aⅴ视频| 在线不卡一区二区| 成人一区在线看| 日日夜夜免费精品| 国产精品区一区二区三区| 日韩精品中午字幕| 一本久久综合亚洲鲁鲁五月天| 日韩高清在线不卡| 中文字幕亚洲电影| 日韩女优制服丝袜电影| 96av麻豆蜜桃一区二区| 久久电影网电视剧免费观看| 亚洲精品免费看| 久久久久久久久久久电影| 欧美日韩精品福利| www.欧美日韩| 韩国成人精品a∨在线观看| 一区二区三区欧美亚洲| 中文字幕精品—区二区四季| 欧美一级一区二区| 欧美性色黄大片手机版| 成人一区二区三区视频| 久久国产综合精品| 亚洲国产cao| 日韩一级欧美一级| 欧美亚洲综合久久| aaa欧美大片| 懂色一区二区三区免费观看| 美女性感视频久久| 五月天国产精品| 一级精品视频在线观看宜春院| 国产欧美日韩在线看| 日韩欧美在线影院| 69久久99精品久久久久婷婷 | 国产**成人网毛片九色 | 波多野结衣中文字幕一区| 奇米影视在线99精品| 亚洲国产精品久久久久婷婷884 | 一区二区三区日本| 亚洲欧美色综合| 亚洲特黄一级片| 国产欧美日韩精品在线| 久久久久国产成人精品亚洲午夜| 欧美一区二区三区四区视频| 欧美日本国产视频| 欧美电影在哪看比较好| 欧美精三区欧美精三区 | 一本大道久久a久久精品综合| 成人不卡免费av| 成人禁用看黄a在线| 国产iv一区二区三区| 处破女av一区二区| eeuss国产一区二区三区| 成人av综合在线| 精品欧美一区二区三区精品久久| 首页国产欧美日韩丝袜| 免费成人美女在线观看.| 看国产成人h片视频| 久久99热这里只有精品| 久久成人久久爱| 国产福利精品一区| 99久免费精品视频在线观看| 成人午夜伦理影院| 色婷婷精品大在线视频| 欧美日韩日本视频| 精品剧情v国产在线观看在线| 国产偷国产偷精品高清尤物| 国产精品家庭影院| 洋洋av久久久久久久一区| 五月天视频一区| 国产精品一区2区| 91小视频在线免费看| 777奇米四色成人影色区| 亚洲精品一区二区三区精华液| 国产欧美一区二区精品久导航| 国产精品久久久久影院亚瑟| 天堂成人国产精品一区| 国产一区二区三区四区在线观看 | 黑人精品欧美一区二区蜜桃| 国产精品一区专区| 色综合久久六月婷婷中文字幕| 欧美日韩一区二区三区不卡 | 国产91精品一区二区麻豆网站 | 亚洲免费观看高清完整版在线观看| 一区二区三区在线观看动漫 | 五月激情丁香一区二区三区| 久久91精品久久久久久秒播| 成人性生交大片免费看视频在线| 欧美视频中文一区二区三区在线观看| 日韩视频一区二区在线观看| 26uuu欧美| 亚洲黄色免费电影| 国产精品自拍av| 精品视频在线免费| 国产精品欧美久久久久无广告| 日韩av一区二区在线影视| www.色精品| 337p粉嫩大胆色噜噜噜噜亚洲| 亚洲精品国产一区二区精华液 | 国产一区中文字幕| 欧美无人高清视频在线观看| 久久夜色精品国产噜噜av | 国产成人综合自拍| 欧美日韩高清一区二区三区| 国产日韩影视精品| 成人h动漫精品一区二区| 欧美一区二区三区啪啪| 亚洲综合在线免费观看| 国产精品99久久久| 日韩一区二区精品在线观看| 亚洲一区二区三区中文字幕 | 99精品欧美一区| 精品国产乱码久久久久久老虎| 一区二区三区四区不卡视频| 高清国产午夜精品久久久久久| 日韩你懂的在线观看| 亚洲福利视频一区二区| 色综合婷婷久久| 中文字幕一区日韩精品欧美| 国产精品99久久久| 久久综合色综合88| 裸体歌舞表演一区二区| 91超碰这里只有精品国产| 伊人色综合久久天天| 久久国产成人午夜av影院| 在线综合+亚洲+欧美中文字幕| 一区二区三区国产精华| 色哟哟一区二区在线观看| 国产精品传媒视频| 91性感美女视频| 亚洲人成人一区二区在线观看 | 久久你懂得1024| 国产一区二区三区| 久久久av毛片精品| 国产91精品免费| 中文字幕视频一区二区三区久| 成人av资源在线观看| 亚洲欧美经典视频| 欧美性猛交xxxx黑人交|