2010年9月 7日(火) 17:13 JST

img2pyがあって良かった

  • 2010年4月29日(木) 18:10 JST
  • 投稿者:
    kuci
  • 閲覧数
    114
Python&IronPython

 wxGladeを使ってwxpythonのフォームをつくり、Frameにアイコンを設定。

それをcx_Freezeで固めた時にFrameに設定したicoファイルが読み込めないことを発見。exeと同じディレクトリにicoファイルを置けばいいんですが、cx_Freezeする時に使うファイルと同じようなものを使っているので紛らわしい。間違ってicoファイルをクリックしてオカシイということになっても残念

cx_Freezeのオプションでなんとかできるのかもしれないけど判らず、、、

で、何かの拍子に見つけたのが、pythonインストールディレクトリ¥Scriptsのimg2py.batという名前のファイルを発見。

imgをpyにする?ということで調べてみたら

http://www.wxpython.org/docs/api/wx.tools.img2py-module.html(公式)

日本語は

http://d.hatena.ne.jp/Megumi221/20080819/1219128129

http://python.matrix.jp/projects/wxPython/bounds.html#img2py

 

以下のようにすると、

img2py shape_image.png shape_image.py

イメージからpythonコードを生成します。

こうして作成されたコードはモジュールとして利用でき、 以下のように利用できます。

1
2
import shape_image
bmp = shape_image.getBitmap()

bmpはビットマップオブジェクト(wxBitmap)インスタンスです。

ということらしい。早速img2pyが吐き出したファイルを使って、wxGladeの吐き出したソースを変更

        _icon = wx.EmptyIcon()
        iconres = ico_clock.getclockBitmap()##編集
        _icon.CopyFromBitmap(iconres)##編集
##        _icon.CopyFromBitmap(wx.Bitmap("clock.ico", wx.BITMAP_TYPE_ICO))##コメントアウト
        self.SetIcon(_icon)
でcx_FreezeをやったらちゃんとFrameにアイコンが表示されて完成
 

トラックバック

このエントリのトラックバックURL:
http://portal-sight.com/gl/trackback.php?id=20100429181025714

[...] Topsy Retweet Button to your Blog or Web Site. WordPress Web Sites 1 tweet tweet 1 All 0 Influential img2pyがあって良かった - 面倒くさがりは常に新たなカイゼンを探る portal-sight.com/gl/article.php?story=20100429181025714 – view page – cached Tweets about [...] 続きを読む

表示形式
コメント投稿

コメントは投稿者の責任においてなされるものであり、サイト管理者は責任を負いません。