Надеюсь, еще не поздно оказать какую-либо помощь, но ... Недавно мне пришлось сделать что-то похожее с OGL, когда я захотел настроить прозрачность на лету.В итоге я создал класс, который внес коррективы и возвратил wx.Bitmap, затем у меня был подкласс ShapeCanvas, использующий скорректированное изображение, например
class PicAdjuster(cls):
def adjust_pic(self, image_filename, factor_red = 1., factor_green = 1., factor_blue = 1., factor_alpha = 1.):
original_img = wx.Image(image_filename)
adjusted_img = original_img.AdjustChannels(factor_red, factor_green, factor_blue, factor_alpha)
return wx.BitmapFromImage(adjusted_img)
, затем для ShapeCanvas:
class PicDisplay(ogl.ShapeCanvas):
def add_picture(self, image_filename):
new_img = ogl.BitmapShape()
add_alpha = PicAdjuster()
new_img.SetBitmap(add_alpha.adjust_pic(factor_alpha = 0.5))
self.diagram.AddShape(new_img)
В любом случае, вы можете сделать что-то подобное, чтобы внести свои коррективы;просто используйте свой регулятор изображения и при необходимости вызовите метод SetBitmap () ogl.BitmapShape.