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

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

?? z132.html

?? gtk_text program sample&eg
?? 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一区二区三区免费野_久草精品视频
激情伊人五月天久久综合| 亚洲人成网站精品片在线观看| 国产在线播精品第三| 亚洲成人动漫一区| 夜夜夜精品看看| 亚洲视频一区二区免费在线观看| 国产亚洲一区字幕| 26uuu精品一区二区| 精品免费国产二区三区| 欧美va亚洲va香蕉在线| 久久嫩草精品久久久精品一| 欧美一区二区三区电影| 欧美猛男超大videosgay| 欧洲精品一区二区| 欧美制服丝袜第一页| 日本高清不卡视频| 欧美日韩激情在线| 91精品视频网| 精品久久久久99| 久久综合久色欧美综合狠狠| 国产亚洲一区二区三区四区| 国产日韩欧美一区二区三区乱码| 欧美日韩三级一区二区| 樱桃视频在线观看一区| 99麻豆久久久国产精品免费优播| 懂色av一区二区三区免费观看| 国产69精品久久久久毛片| 成人黄色免费短视频| 色综合网站在线| 精品视频999| 欧美va日韩va| 国产欧美一区二区精品忘忧草| 日本一区二区成人| 亚洲精品国产第一综合99久久| 丝袜美腿高跟呻吟高潮一区| 韩国理伦片一区二区三区在线播放| 国产成人午夜99999| www.亚洲色图| 777久久久精品| 国产欧美日韩视频一区二区| 亚洲男女毛片无遮挡| 日韩成人一级大片| 国产超碰在线一区| 91国在线观看| 久久综合给合久久狠狠狠97色69| 综合激情成人伊人| 日本怡春院一区二区| 高潮精品一区videoshd| 欧美天堂亚洲电影院在线播放| 精品99久久久久久| 亚洲免费在线播放| 麻豆91免费观看| 色一区在线观看| 2022国产精品视频| 石原莉奈一区二区三区在线观看| 国产a区久久久| 日韩一区二区三区在线观看| 亚洲天堂中文字幕| 精品一二三四区| 日本久久一区二区三区| 国产亚洲人成网站| 日韩不卡手机在线v区| 99久久精品国产观看| 精品国产一区二区三区av性色| 亚洲免费在线看| 成人综合在线观看| 日韩免费观看2025年上映的电影 | 亚洲国产成人精品视频| 韩国视频一区二区| 制服丝袜亚洲网站| 亚洲精品写真福利| 成人午夜av电影| 26uuu国产一区二区三区| 丝瓜av网站精品一区二区| 日本精品一区二区三区高清| 国产精品久久99| 成人国产精品免费网站| 久久嫩草精品久久久精品| 麻豆国产91在线播放| 欧美一区二区三区精品| 日韩影院免费视频| 欧美三级蜜桃2在线观看| 亚洲黄色性网站| 99热精品一区二区| 欧美国产综合一区二区| 国产精品一区二区在线看| 精品国产伦一区二区三区观看方式| 天天色综合天天| 欧美精品日韩一本| 午夜精品久久久久久久99水蜜桃| 在线日韩av片| 亚洲aⅴ怡春院| 777午夜精品免费视频| 日韩精品91亚洲二区在线观看 | 99久久国产综合精品色伊| 国产精品久久久久影视| 粉嫩绯色av一区二区在线观看| 久久久精品中文字幕麻豆发布| 国产乱码精品1区2区3区| 久久综合九色综合欧美就去吻| 免费在线欧美视频| 亚洲精品在线电影| 国产精品66部| 亚洲欧美一区二区在线观看| 91免费在线视频观看| 一区二区三区在线观看网站| 欧美日韩性生活| 久久精品国产99久久6| 久久精品一区二区三区不卡| 国产69精品一区二区亚洲孕妇| 日韩理论片中文av| 91福利社在线观看| 肉色丝袜一区二区| 久久久久久久久蜜桃| 91视频在线看| 日欧美一区二区| 久久久蜜桃精品| 91猫先生在线| 麻豆精品国产传媒mv男同| 国产女同互慰高潮91漫画| 91麻豆swag| 日本女人一区二区三区| 国产欧美一区二区在线观看| 一本到一区二区三区| 日本欧美一区二区三区| 国产婷婷精品av在线| 在线免费亚洲电影| 精品亚洲国产成人av制服丝袜| 亚洲欧美综合另类在线卡通| 欧美日韩国产影片| 国产高清精品久久久久| 亚洲一区二区精品3399| 久久久不卡网国产精品二区| 色哟哟国产精品| 国产精品一区一区三区| 亚洲成人一区在线| 亚洲国产精品激情在线观看| 欧美日韩aaa| av日韩在线网站| 久久精品999| 亚洲成人你懂的| 国产午夜精品在线观看| 欧美日韩精品电影| 波多野结衣一区二区三区 | 成人免费视频app| 香蕉乱码成人久久天堂爱免费| 久久精品一区二区| 7878成人国产在线观看| 色哟哟日韩精品| 成人激情图片网| 黑人巨大精品欧美一区| 香蕉加勒比综合久久| 亚洲色图第一区| 国产欧美一区二区三区网站| 欧美一级搡bbbb搡bbbb| 欧美亚洲国产怡红院影院| a4yy欧美一区二区三区| 国产美女久久久久| 久久国产精品第一页| 日日摸夜夜添夜夜添亚洲女人| 亚洲自拍另类综合| 亚洲欧美视频在线观看视频| 国产精品污www在线观看| 26uuu精品一区二区在线观看| 欧美一区二区三区小说| 欧美美女bb生活片| 欧美日韩不卡一区二区| 欧美亚洲另类激情小说| 欧美在线观看视频一区二区 | 国产自产v一区二区三区c| 日韩不卡在线观看日韩不卡视频| 亚洲综合999| 亚洲第一电影网| 午夜电影久久久| 视频在线观看91| 欧美aⅴ一区二区三区视频| 日本亚洲免费观看| 美女在线观看视频一区二区| 蜜臀91精品一区二区三区| 日韩精品每日更新| 久久国产精品第一页| 国产一区二区三区美女| 福利一区二区在线| 99久久精品免费看| 欧美午夜精品一区二区三区| 欧美另类高清zo欧美| 日韩欧美国产午夜精品| 精品剧情v国产在线观看在线| 欧美精品一区二区在线观看| 久久久久久久久久久99999| 日本一区二区三区在线不卡| 中文字幕一区日韩精品欧美| 一区二区三区精品视频在线| 图片区小说区国产精品视频| 久久99久久久久久久久久久| 国产福利一区二区| 91久久精品一区二区三| 欧美日韩一区久久| 久久久久9999亚洲精品| 亚洲乱码中文字幕|