wx.dc使用设备上下文实现两种缩放图的方法

python学习手册(第4版)还在进行中,由于中途工作需要,对wxpython的wx.dc进行巩固下。

两种缩放图的源代码如下:


# coding:utf-8

import wx

class myFrame(wx.Frame):
    def __init__(self,parent):
        wx.Frame.__init__(self,parent,size=(800,500))
        self.Bind(wx.EVT_PAINT,self.onPaint)

    def onPaint(self,evt):
        dc = wx.PaintDC(self)

        brush = wx.Brush(wx.Colour(0,123,0))
        dc.SetBackground(brush)
        dc.Clear()

        #方法一
        bmp = wx.Bitmap('sttbutton.png',wx.BITMAP_TYPE_PNG)   #换成自己使用的图片名称,注意与源代码放在同一个目录下
        image = bmp.ConvertToImage()
        bmp_image = image.Scale(200,200)   #进行图像缩放
        bmp2 = wx.Bitmap(bmp_image)
        dc.DrawBitmap(bmp2,0,0,True)     #True表示将位图有透明效果将被透明绘制
        dc.Clear()         #使用当前背景画笔清除上下文

        #方法二
        image2 = wx.Image('sttbutton.png',wx.BITMAP_TYPE_PNG)  #换成自己使用的图片名称,注意与源代码放在同一个目录下

        bmp_image2 = image2.Scale(1000,1000)
        bmp3 = wx.Bitmap(bmp_image2)
        dc.DrawBitmap(bmp3,0,0,True)

if __name__=='__main__':
    app = wx.App()
    frame = myFrame(None)
    frame.Show()
    app.MainLoop()

效果图如下

wx.dc使用设备上下文实现两种缩放图的方法


转载本文请注明出处,感谢支持!