Python论坛  - 讨论区

标题:[python-chinese] wx.MemoryDC的问题

2005年02月22日 星期二 16:17

cpunion cpunion at 263.net
Tue Feb 22 16:17:45 HKT 2005

下面这段代码:

def makeBmp(self):
dc = wx.MemoryDC()

# Make a shape from some text
bg_colour = wx.Colour(57, 115, 57) # matches the bg image
font = wx.Font(self.size, self.family, self.style, self.weight,
self.underline)
textExtent = dc.GetFullTextExtent(self.name, font)

# create a bitmap the same size as our text
bmp = wx.EmptyBitmap(textExtent[0], textExtent[1])

# 'draw' the text onto the bitmap
dc.SelectObject(bmp)
dc.SetBackground(wx.Brush(bg_colour, wx.SOLID))
dc.Clear()
dc.SetTextForeground(self.color)
dc.SetFont(font)
dc.DrawText(self.name, 0, 0)
dc.SelectObject(wx.NullBitmap)
mask = wx.Mask(bmp, bg_colour)
bmp.SetMask(mask)
return bmp

功能是根据self.name字符串生成一个位图。

在本机上执行是正确的,但换了一台机子,执行到dc.SetBackground这一行就报错,
是C代码中的断言错误,提示的意思是invalid window dc,不知如何解决。

2台机器装的都是fedora core 2系统,python 2.3.3,wxPython-gtk2-unicode-
fc2py。



[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月22日 星期二 17:18

5261314 5261314 at vip.sina.com
Tue Feb 22 17:18:11 HKT 2005

真受不了这些人,订的时候也不了解清楚就屁颠屁颠的加入!加入后又不看清楚退订邮件,即使你没有找到那个邮件,也拜托你自己上订阅时的那个网站找找,肯定能退的!如果你英文不行,拜托你装一个翻译软件,不要在这里叽叽歪歪的……


>======= 2005-02-22 14:24:35 您在来信中写道:=======
>
>>这个邮件列表到底能不能退定啊,怎么像上了贼船一下下不了拉.....
>>			
>>
>>        致
>>礼!
>> 
>>				 
>>        grays
>>        grays at pc165.net
>>          2005-02-22
>>
>>_______________________________________________
>>python-chinese list
>>python-chinese at lists.python.cn
>>http://python.cn/mailman/listinfo/python-chinese
>>
>
>= = = = = = = = = = = = = = = = = = = =
>			
>
>        致
>礼!
> 
>				 
>        grays
>        grays at pc165.net
>          2005-02-22
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>

= = = = = = = = = = = = = = = = = = = =
			

        致
礼!
 
				 
        5261314
        5261314 at vip.sina.com
          2005-02-22


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 10:01

cpunion cpunion at 263.net
Wed Feb 23 10:01:38 HKT 2005

奇怪,今天又没有这问题了.

cpunion 写道:

>下面这段代码:
>
>def makeBmp(self):
>dc = wx.MemoryDC()
>
># Make a shape from some text
>bg_colour = wx.Colour(57, 115, 57) # matches the bg image
>font = wx.Font(self.size, self.family, self.style, self.weight,
>self.underline)
>textExtent = dc.GetFullTextExtent(self.name, font)
>
># create a bitmap the same size as our text
>bmp = wx.EmptyBitmap(textExtent[0], textExtent[1])
>
># 'draw' the text onto the bitmap
>dc.SelectObject(bmp)
>dc.SetBackground(wx.Brush(bg_colour, wx.SOLID))
>dc.Clear()
>dc.SetTextForeground(self.color)
>dc.SetFont(font)
>dc.DrawText(self.name, 0, 0)
>dc.SelectObject(wx.NullBitmap)
>mask = wx.Mask(bmp, bg_colour)
>bmp.SetMask(mask)
>return bmp
>
>功能是根据self.name字符串生成一个位图。
>
>在本机上执行是正确的,但换了一台机子,执行到dc.SetBackground这一行就报错,
>是C代码中的断言错误,提示的意思是invalid window dc,不知如何解决。
>
>2台机器装的都是fedora core 2系统,python 2.3.3,wxPython-gtk2-unicode-
>fc2py。
>
>_______________________________________________
>python-chinese list
>python-chinese at lists.python.cn
>http://python.cn/mailman/listinfo/python-chinese
>
>
>  
>


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

2005年02月23日 星期三 12:04

limodou limodou at gmail.com
Wed Feb 23 12:04:11 HKT 2005

机器累了 :)


On Wed, 23 Feb 2005 10:01:38 +0800, cpunion <cpunion at 263.net> wrote:
> 奇怪,今天又没有这问题了.
> 

-- 
I like python! 
My Blog: http://www.donews.net/limodou
New Maillist: http://groups-beta.google.com/group/python-cn


[导入自Mailman归档:http://www.zeuux.org/pipermail/zeuux-python]

如下红色区域有误,请重新填写。

    你的回复:

    请 登录 后回复。还没有在Zeuux哲思注册吗?现在 注册 !

    Zeuux © 2025

    京ICP备05028076号