win32clipboard_bitmapdemo.py 文件源码

python
阅读 19 收藏 0 点赞 0 评论 0

项目:CodeReader 作者: jasonrbr 项目源码 文件源码
def OnPaint(self, hwnd, msg, wp, lp):
        dc, ps=win32gui.BeginPaint(hwnd)
        wndrect = win32gui.GetClientRect(hwnd)
        wndwidth = wndrect[2]-wndrect[0]
        wndheight = wndrect[3]-wndrect[1]
        win32clipboard.OpenClipboard()
        try:
            try:
                hbitmap = win32clipboard.GetClipboardData(win32clipboard.CF_BITMAP)
            except TypeError:
                font=win32gui.LOGFONT()
                font.lfHeight=15 #int(wndheight/20)
                font.lfWidth=15 #font.lfHeight
    #            font.lfWeight=150
                hf=win32gui.CreateFontIndirect(font)
                win32gui.SelectObject(dc,hf)
                win32gui.SetBkMode(dc, win32con.TRANSPARENT)
                win32gui.SetTextColor(dc,win32api.RGB(0,0,0))
                win32gui.DrawText(dc,'No bitmaps are in the clipboard\n(try pressing the PrtScn button)', -1, 
                     (0,0, wndwidth, wndheight),
                     win32con.DT_CENTER)
            else:
                bminfo = win32gui.GetObject(hbitmap)
                dcDC = win32gui.CreateCompatibleDC(None)
                win32gui.SelectObject(dcDC, hbitmap)
                win32gui.StretchBlt(dc, 0, 0, wndwidth, wndheight, dcDC, 0, 0, bminfo.bmWidth, bminfo.bmHeight, win32con.SRCCOPY)
                win32gui.DeleteDC(dcDC)
                win32gui.EndPaint(hwnd, ps)
        finally:
            win32clipboard.CloseClipboard()
        return 0
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号