2011-02-26 19 views
1

我正在使用wxPython ogl.ShapeCanvas製作一個小型照片編輯應用程序。我可以在畫布上加載圖像。我只想知道如何調整畫布內部圖像的亮度/對比度(使用滑塊)。wxOGL wx.ShapeCanvas圖像

感謝

回答

1

希望它不是遲了點的任何幫助,但是......我不得不做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) 

無論如何,你也許能夠做同樣的事情,使您的調整;只需使用圖片調整器並根據需要調用ogl.BitmapShape的SetBitmap()方法即可。