#!/usr/bin/env python # example pixmap.py import pygtk pygtk.require('2.0') import gtk # XPM data of Open-File icon #從內(nèi)存生成的圖像數(shù)據(jù) xpm_data = [ "10 12 4 1", " c Green", ". c Red", "X c Blue", "Y c #00000FFFFFF", "XXXXXXXXXX", " XXXXXXXX ", " XXXXXX ", " YYYY ", " YY ", " YY ", " YY ", " YY ", "..........", "..........", "..........", ".........." ] class PixmapExample: # when invoked (via signal delete_event), terminates the application. def close_application(self, widget, event, data=None): gtk.main_quit() return False # is invoked when the button is clicked. It just prints a message. def button_clicked(self, widget, data=None): print "button clicked" def __init__(self): #create the main window, and attach delete_event signal to terminating # the application window = gtk.Window(gtk.WINDOW_TOPLEVEL) window.connect("delete_event", self.close_application) window.set_border_width(10) window.show() # now for the pixmap from XPM data #從內(nèi)存生成的圖像數(shù)據(jù)中讀取 #pixmap, mask = gtk.gdk.pixmap_create_from_xpm_d(window, transparent_color,data) pixmap, mask = gtk.gdk.pixmap_create_from_xpm_d(window.window, None, xpm_data) # an image widget to contain the pixmap image = gtk.Image() image.set_from_pixmap(pixmap, mask) image.show() # a button to contain the image widget button = gtk.Button() button.add(image) window.add(button) button.show() button.connect("clicked", self.button_clicked) def main(): gtk.main() return 0 if __name__ == "__main__": PixmapExample() main()
?
?
XPM格式說明:
xpm_data = [
"10 12 4 1",
"? c Green",
". c Red",
"X c Blue",
"Y c #00000FFFFFF",
"XXXXXXXXXX",
" XXXXXXXX ",
"? XXXXXX? ",
"?? YYYY?? ",
"??? YY??? ",
"??? YY??? ",
"??? YY??? ",
"??? YY??? ",
"..........",
"..........",
"..........",
".........."
]
?
"10 12 4 1",其中10表示象素寬度,12表示象素高度,4表示色彩種類,最后一個(gè)數(shù)字說明的是每個(gè)字母當(dāng)作各個(gè)顏色的標(biāo)記
下面4行就是每個(gè)字符代表的色彩
再下面的10列12行的字符表示圖像的每個(gè)像素
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
