python读取内存位图_从python中的NSImage中提取位图数据

我正在使用NSImage中的数据构造wx.MemoryDC,但生成的代码非常缓慢。在我看来,TIFFRepresentation - > ImageFromStream步骤是降低速度的步骤。有什么办法可以避免这一步(所有这些流),并直接从NSImage数据初始化MemoryDC?以下是示例代码:

import wx

import cStringIO

from AppKit import NSImage

app = wx.PySimpleApp()

frame = wx.Frame(None, wx.ID_ANY, "Python")

static_bitmap = wx.StaticBitmap(frame,wx.NewId(), bitmap=wx.EmptyBitmap(640, 480))

frame.Show(True)

# wget http://upload.wikimedia.org/wikipedia/commons/d/d9/Test.png

ns_image = NSImage.alloc().initWithContentsOfFile_("Test.png")

for i in range(100):

tiffdata = ns_image.TIFFRepresentation()

image = wx.ImageFromStream(cStringIO.StringIO(tiffdata), wx.BITMAP_TYPE_TIF)

bitmap = image.ConvertToBitmap()

bmdc = wx.MemoryDC(bitmap)

# bmdc.DrawCircle(10,10, 5)

del bmdc

static_bitmap.SetBitmap(bitmap)

app.MainLoop()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值