471,601 Members | 1,192 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,601 software developers and data experts.

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 _
"SendMessageA" (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
lc******@siadv.com
Jul 18 '05 #1
3 2970
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

Jul 18 '05 #2
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" <ka******************@gmail.com> escribió en el mensaje
news:11**********************@f14g2000cwb.googlegr oups.com...
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

Jul 18 '05 #3
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.GetWindowRect(self.grd.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(self.grd.GetHandle(), WM_PAINT, dc.GetHDC(), 0)
SendMessage(self.grd.GetHandle(), WM_PRINT, dc.GetHDC(),
PRF_CHILDREN|PRF_CLIENT|PRF_OWNED)

Jul 18 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

1 post views Thread by Jeremy | last post: by
2 posts views Thread by Paul Aspinall | last post: by
6 posts views Thread by anonymous | last post: by
4 posts views Thread by Tomasz Bak | last post: by
2 posts views Thread by ghostrider | last post: by
reply views Thread by =?Utf-8?B?Q2hha3JhdmFydGh5?= | last post: by
1 post views Thread by XIAOLAOHU | last post: by
reply views Thread by leo001 | last post: by
reply views Thread by CCCYYYY | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.