【问题标题】:wxpython, dc.GetAsBitmap returns an invalid bitmapwxpython, dc.GetAsBitmap 返回一个无效的位图
【发布时间】:2010-02-02 22:40:56
【问题描述】:

我正在尝试获取我的 dc 绘制的位图,但是当我将其转换为图像时,我得到了

  File "C:\Python25\lib\site-packages\wx-2.8-msw-unicode\wx\_gdi.py", line 618, in ConvertToImage
    return _gdi_.Bitmap_ConvertToImage(*args, **kwargs)
wx._core.PyAssertionError: C++ assertion "bmp.Ok()" failed at ..\..\src\msw\dib.cpp(148) in wxDIB::Create(): wxDIB::Create(): invalid bitmap

在尝试将所述位图绘制到另一个 dc 时也会出现相同的错误。所以我记得在这里阅读了一种将 ClientDC 的图形存储到 MemoryDC 中的方法,然后清理 ClientDC 并将 MemoryDC 的内容重新绘制到它上面。这样做的方法是什么?

【问题讨论】:

    标签: wxpython bitmap


    【解决方案1】:
    bitmap = wx.EmptyBitmap(width, height)
    
    memory = wx.MemoryDC()
    memory.SelectObject(bitmap)
    #set pen, do drawing.
    memory.SelectObject(wx.NullBitmap)
    
    img = wx.ImageFromBitmap(bitmap)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-10-16
      • 1970-01-01
      • 2011-06-20
      • 1970-01-01
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多