wxOGL wx.ShapeCanvas изображения - PullRequest
       35

wxOGL wx.ShapeCanvas изображения

1 голос
/ 26 февраля 2011

Я делаю небольшое приложение для редактирования фотографий, используя wxPython ogl.ShapeCanvas. Я могу загрузить изображения на холсте. Я просто хочу знать, как я буду регулировать яркость / контрастность изображения внутри холста (используя ползунок).

Спасибо

1 Ответ

1 голос
/ 26 мая 2011

Надеюсь, еще не поздно оказать какую-либо помощь, но ... Недавно мне пришлось сделать что-то похожее с 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.

...