wxpython, dc.GetAsBitmap возвращает недопустимое растровое изображение - PullRequest
2 голосов
/ 03 февраля 2010

Я пытаюсь получить растровое изображение того, что рисует мой 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 обратно на него. Какой способ сделать это?

1 Ответ

1 голос
/ 06 февраля 2010
bitmap = wx.EmptyBitmap(width, height)

memory = wx.MemoryDC()
memory.SelectObject(bitmap)
#set pen, do drawing.
memory.SelectObject(wx.NullBitmap)

img = wx.ImageFromBitmap(bitmap)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...