विंडोज़ पर स्क्रीनशॉट लेने का सबसे तेज़ तरीका क्या है? PIL.ImageGrab
बल्कि धीमा है .. उसी छोटी विंडो के 30 स्क्रीनशॉट लेने में 4-5 सेकंड लगते हैं। पूरे डेस्कटॉप के स्क्रीनशॉट लेना भी धीमा है।विंडोज़ पर पाइथन के साथ एक स्क्रीनशॉट लेने का सबसे तेज़ तरीका
उत्तर
आप सीधे Win32 एपीआई का उपयोग कर सकते हैं।
1) सबसे पहले ऐप पर ध्यान दें कि आप स्क्रीनशॉट लेना चाहते हैं। link text
2) Win32 API स्क्रीनशॉट के साथ मदद कर सकते हैं:
import win32gui
import win32ui
hwnd = win32gui.FindWindow(None, windowname)
wDC = win32gui.GetWindowDC(hwnd)
dcObj=win32ui.CreateDCFromHandle(wDC)
cDC=dcObj.CreateCompatibleDC()
dataBitMap = win32ui.CreateBitmap()
dataBitMap.CreateCompatibleBitmap(dcObj, w, h)
cDC.SelectObject(dataBitMap)
cDC.BitBlt((0,0),(w, h) , dcObj, (0,0), win32con.SRCCOPY)
dataBitMap.SaveBitmapFile(cDC, bmpfilenamename)
# Free Resources
dcObj.DeleteDC()
cDC.DeleteDC()
win32gui.ReleaseDC(hwnd, wDC)
win32gui.DeleteObject(dataBitMap.GetHandle())
बहुत महत्वपूर्ण है, क्योंकि यह हाल ही में मुझे गधे में थोड़ा सा है: आपको हटाने/इस द्वारा बनाई गई सभी डीसी जारी करें, या ~ 9 0 छवियों को लेने के बाद, आप अब और सक्षम नहीं होंगे। इस मामले में, 'dcObj.DeleteDC(); cDC.DeleteDC(); win32gui.ReleaseDC (एचडब्ल्यूएन, डब्ल्यूडीसी) ' – Claudiu
कृपया इस कोड के लिए काम करने के लिए आवश्यक आयात जोड़ें। –
अधिक जानकारी के लिए इस स्क्रिप्ट को देखें: http://bytes.com/topic/python/answers/576924-win32ui-vs-wxpy-screen-capture-multi-monitor –
बस पता चला कैसे जीटीके साथ यह करने के लिए। अब तक सबसे तेजी से लगता है:
def image_grab_gtk(window):
left, top, right, bot = get_rect(window)
w = right - left
h = bot - top
s = gtk.gdk.Pixbuf(
gtk.gdk.COLORSPACE_RGB, False, 8, w, h)
s.get_from_drawable(
gtk.gdk.get_default_root_window(),
gtk.gdk.colormap_get_system(),
left, top, 0, 0, w, h)
final = Image.frombuffer(
"RGB",
(w, h),
s.get_pixels(),
"raw",
"RGB",
s.get_rowstride(), 1)
return final
एक PIL
छवि को बदलने के बिना, यह जनहित याचिका से 8x तेजी से अपने परीक्षण के मामले पर है। कनवर्ट करने के साथ, यह अभी भी ~ 2.7x तेज है।
get_rect क्या है? – denfromufa
- 1. विंडोज़ में सी ++ के साथ विंडो के स्क्रीनशॉट लेने का सबसे अच्छा तरीका क्या है?
- 2. पाइथन के साथ hdf5 फ़ाइल लिखने का सबसे तेज़ तरीका?
- 3. प्रोग्रामर के तहत लिनक्स के तहत एक विशिष्ट विंडो का स्क्रीनशॉट लेने का "सबसे तेज़ तरीका" क्या है?
- 4. सबसे तेज़ तरीका एक टेम्पलेट
- 5. ReSharper के साथ नामस्थान अपडेट करने का सबसे तेज़ तरीका?
- 6. रूबी प्रोग्रामर को पायथन लेने के लिए सबसे तेज़ तरीका क्या है?
- 7. पायथन के साथ विंडोज़ पर स्क्रीनशॉट प्राप्त करें?
- 8. क्या एमबी-एक्सेस में वीबीए के साथ स्क्रीनशॉट लेने का कोई तरीका है?
- 9. एएसपी.Net का उपयोग करना, क्या ब्राउज़र सामग्री का स्क्रीनशॉट लेने का एक प्रोग्रामेटिक तरीका है?
- 10. आधुनिक विंडोज़ पर एचडब्ल्यूएनडी को आकर्षित करने का सबसे तेज़ तरीका क्या है?
- 11. पाइथन के साथ जावा उत्पन्न करने का सबसे अच्छा तरीका?
- 12. पायथन स्क्रीनशॉट 2+ मॉनीटर (विंडोज़)
- 13. ज़ेंड फ्रेमवर्क सीखने का सबसे तेज़ तरीका?
- 14. क्यूटी। स्क्रीन पर 1024x1024 डॉट्स खींचने का सबसे तेज़ तरीका
- 15. क्या उपयोगकर्ता के विंडोज डेस्कटॉप का स्क्रीनशॉट लेने का कोई तरीका है?
- 16. एक MySQL विशेषज्ञ बनने का सबसे तेज़ तरीका?
- 17. सरणी से सबसे कम पाने के लिए सबसे तेज़ तरीका
- 18. एक सरल सिम्बियन ऐप बनाने का सबसे तेज़ तरीका?
- 19. एक मान के साथ एक सरणी को भरने का सबसे तेज़ तरीका
- 20. डेटाबेस में एक फ़ील्ड बढ़ाने के लिए सबसे तेज़ तरीका
- 21. numpy.NaN के साथ एक scipy.sparse मैट्रिक्स शुरू करने का सबसे तेज़ तरीका क्या है?
- 22. इंटरनेट कनेक्शन का परीक्षण करने का सबसे तेज़ तरीका
- 23. ffmpeg का उपयोग कर फ्रेम निकालने का सबसे तेज़ तरीका?
- 24. वीआईएम के माध्यम से पायथन के फ़ंक्शन का चयन करने का सबसे तेज़ तरीका क्या है?
- 25. int में अधिकतम योग सीमा खोजने का सबसे तेज़ तरीका []
- 26. प्राथमिकता कतार एक खोज समारोह के साथ - सबसे तेज़ कार्यान्वयन
- 27. कक्षा में एक निर्माता (ओं) पर कूदने का सबसे तेज़ तरीका क्या है?
- 28. जावास्क्रिप्ट के साथ एक वेबपृष्ठ का एक स्क्रीनशॉट लें?
- 29. पेटापोको सम्मिलित करें - सबसे तेज़ तरीका?
- 30. मोंगोडीबी ढूंढें और हटाएं - सबसे तेज़ तरीका
ध्वनि की तरह आप जो ध्वनि चाहते हैं, वह ध्वनि वीडियो हैं, Sourceforge पर ला कैमस्टूडियो। उपयोग का मामला क्या है? –
[winterbells] पर उच्चतम स्कोर प्राप्त करने के लिए (http://www.ferryhalim.com/orisinal/g3/bells.htm) = पी – Claudiu