Image capture

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Catalin Lungu

    #1

    Image capture

    Hi,
    Can anybody help me to implement the following VB code in Python. Thanks in
    advance.

    Private Declare Function SendMessage Lib "user32.dll " Alias _
    "SendMessag eA" (ByVal hwnd As Long, ByVal wMsg As Long, _
    ByVal wParam As Long, ByVal lParam As Long) As Long

    Private Const WM_PAINT = &HF
    Private Const WM_PRINT = &H317
    Private Const PRF_CLIENT = &H4&
    Private Const PRF_CHILDREN = &H10&
    Private Const PRF_OWNED = &H20&

    Private Sub Command1_Click( )
    SendMessage grid.hwnd, WM_PAINT, picture.hDC, 0
    SendMessage grid.hwnd, WM_PRINT, picture.hDC, PRF_CHILDREN Or PRF_CLIENT
    Or PRF_OWNED
    picture.Picture = picture.Image
    picture.Refresh
    End Sub


    Catalin
    lcatalin@siadv. com


  • Kartic

    #2
    Re: Image capture

    Catalin,

    Some explanation about what you are tring to do will be of immense
    help.

    Did you want to capture some other Windows object from Python or do you
    want to capture a Python GUI application from Python?

    I might be able to help out, but please send more details.
    Thank you,
    --Kartic

    Comment

    • Catalin Lungu

      #3
      Re: Image capture

      Hi,

      I want to capture a no visible area of a wxFrame of Python. This area
      contain a wxGrid object. In VB6 this code work very good.

      Thanks.

      "Kartic" <kartic.krishna murthy@gmail.co m> escribió en el mensaje
      news:1104939479 .011181.147650@ f14g2000cwb.goo glegroups.com.. .[color=blue]
      > Catalin,
      >
      > Some explanation about what you are tring to do will be of immense
      > help.
      >
      > Did you want to capture some other Windows object from Python or do you
      > want to capture a Python GUI application from Python?
      >
      > I might be able to help out, but please send more details.
      > Thank you,
      > --Kartic
      >[/color]


      Comment

      • Kartic

        #4
        Re: Image capture

        Hi Catalin,

        Here are the modifications to your code. I am emailing you the complete
        file back to your email address. Please note that you need PIL (Python
        Imaging Library) to grab the window. I included a step to save the
        image, but you can do whatever you want with it.

        Thanks,
        --Kartic

        -------------- Unified Diff ---------------

        --- Catalin.txt Wed Jan 05 11:43:38 2005
        +++ frmDesign.py Wed Jan 05 11:43:17 2005
        @@ -1,7 +1,7 @@
        from wxPython.wx import *
        from wxPython.grid import *
        from win32api import SendMessage
        -import win32ui
        +import win32ui, win32gui, ImageGrab

        WM_PAINT = 0xf
        WM_PRINT = 0x317
        @@ -47,6 +47,10 @@
        dc = wxMemoryDC()
        dc.SelectObject (bmp)
        dc.Clear()
        + win_sz = win32gui.GetWin dowRect(self.gr d.GetHandle())
        + print win_sz
        + im = ImageGrab.grab( (win_sz[0],win_sz[1],win_sz[2],win_sz[3]))
        + im.save('C:/TEMP/grid.jpg')
        SendMessage(sel f.grd.GetHandle (), WM_PAINT, dc.GetHDC(), 0)
        SendMessage(sel f.grd.GetHandle (), WM_PRINT, dc.GetHDC(),
        PRF_CHILDREN|PR F_CLIENT|PRF_OW NED)

        Comment

        Working...