def test_workingCase(self):
		import Image

		fname = tempfile.mktemp()
		self.addCleanup(self._tryUnlink, fname)
		saveRectToBmp(fname, rect=(0, 0, 200, 100))
		with open(fname, "rb") as f:
			im = Image.open(f)
			self.assertEqual((200, 100), im.size)
Example #2
0
    def test_workingCase(self):
        if not Image:
            self.skipTest("No PIL or Pillow")

        fname = tempfile.mktemp()
        self.addCleanup(self._tryUnlink, fname)
        saveRectToBmp(fname, rect=(0, 0, 200, 100))
        with open(fname, "rb") as f:
            im = Image.open(f)
            self.assertEqual((200, 100), im.size)
	def test_workingCase(self):
		if not Image:
			self.skipTest("No PIL or Pillow")

		fname = tempfile.mktemp()
		self.addCleanup(self._tryUnlink, fname)
		saveRectToBmp(fname, rect=(0, 0, 200, 100))
		with open(fname, "rb") as f:
			im = Image.open(f)
			self.assertEqual((200, 100), im.size)
Example #4
0
 def test_invalidRect(self):
     fname = tempfile.mktemp()
     self.addCleanup(self._tryUnlink, fname)
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100, 100, 100, 100)))
     self.assertRaises(
         ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 99, 100)))
     self.assertRaises(
         ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 100, 99)))
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100, 100, 100, None)))
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100, 100, "100", None)))
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100.0, 100, 101, 101)))
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100, 100, 101, 101.0)))
     self.assertRaises(
         ValueError,
         lambda: saveRectToBmp(fname, rect=(100, 100, 200, 200, 200)))
     self.assertRaises(TypeError, lambda: saveRectToBmp(fname, rect=None))
     self.assertRaises(TypeError, lambda: getRectAsImage(rect=None))
Example #5
0
 def test_rectTooBig(self):
     fname = tempfile.mktemp()
     self.addCleanup(self._tryUnlink, fname)
     # Note that 26000x26000 is big enough to fail it on my system
     self.assertRaises(
         GrabFailed,
         lambda: saveRectToBmp(fname, rect=(0, 0, 2600000, 2600000)))
     self.assertRaises(
         GrabFailed,
         lambda: saveRectToBmp(fname,
                               rect=(0, 0, 2600000, 260000000000000000)))
Example #6
0
    def mouseReleaseEvent(self, event):
        self.close()

        # find top right and bottom left
        x1 = min(self.begin.x(), self.end.x())
        y1 = min(self.begin.y(), self.end.y())
        x2 = max(self.begin.x(), self.end.x())
        y2 = max(self.begin.y(), self.end.y())

        # save copy of screen and call upload
        saveRectToBmp('capture.bmp', rect=(x1, y1, x2, y2))
        Image.open('capture.bmp').save('capture.png')
        upload('capture.png')
	def test_invalidRect(self):
		fname = tempfile.mktemp()
		self.addCleanup(self._tryUnlink, fname)
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 100, 100)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 99, 100)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 100, 99)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 100, None)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, "100", None)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100.0, 100, 101, 101)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 101, 101.0)))
		self.assertRaises(ValueError, lambda: saveRectToBmp(fname, rect=(100, 100, 200, 200, 200)))
		self.assertRaises(TypeError, lambda: saveRectToBmp(fname, rect=None))
		self.assertRaises(TypeError, lambda: getRectAsImage(rect=None))
	def test_1x1SizeRect(self):
		import Image

		fname = tempfile.mktemp() + '.bmp'
		fnamePng = tempfile.mktemp() + '.png'
		self.addCleanup(self._tryUnlink, fname)
		self.addCleanup(self._tryUnlink, fnamePng)
		saveRectToBmp(fname, rect=(100, 100, 101, 101))

		with open(fname, "rb") as f:
			im = Image.open(f)
			self.assertEqual((1, 1), im.size)

		im = getRectAsImage(rect=(100, 100, 101, 101))
		self.assertEqual((1, 1), im.size)
		im.save(fnamePng, format='png')

		with open(fnamePng, "rb") as f:
			im = Image.open(f)
			self.assertEqual((1, 1), im.size)
Example #9
0
    def test_1x1SizeRect(self):
        if not Image:
            self.skipTest("No PIL or Pillow")

        fname = tempfile.mktemp() + '.bmp'
        fnamePng = tempfile.mktemp() + '.png'
        self.addCleanup(self._tryUnlink, fname)
        self.addCleanup(self._tryUnlink, fnamePng)
        saveRectToBmp(fname, rect=(100, 100, 101, 101))

        with open(fname, "rb") as f:
            im = Image.open(f)
            self.assertEqual((1, 1), im.size)

        im = getRectAsImage(rect=(100, 100, 101, 101))
        self.assertEqual((1, 1), im.size)
        im.save(fnamePng, format='png')

        with open(fnamePng, "rb") as f:
            im = Image.open(f)
            self.assertEqual((1, 1), im.size)
	def test_rectTooBig(self):
		fname = tempfile.mktemp()
		self.addCleanup(self._tryUnlink, fname)
		# Note that 26000x26000 is big enough to fail it on my system
		self.assertRaises(GrabFailed, lambda: saveRectToBmp(fname, rect=(0, 0, 2600000, 2600000)))
		self.assertRaises(GrabFailed, lambda: saveRectToBmp(fname, rect=(0, 0, 2600000, 260000000000000000)))
Example #11
0
 def screenshot(self):
     x0 = self.size[0] + 353
     y0 = self.size[1] + 212
     x1 = self.size[0] + 657
     y1 = self.size[1] + 312
     saveRectToBmp(self.saveFile, rect=(x0, y0, x1, y1))
Example #12
0
Created on Thu Nov 14 13:55:02 2019

@author: tinivella
"""

from __future__ import print_function

from desktopmagic.screengrab_win32 import (getDisplayRects, saveScreenToBmp,
                                           saveRectToBmp, getScreenAsImage,
                                           getRectAsImage, getDisplaysAsImages)

# Save the entire virtual screen as a BMP (no PIL required)
saveScreenToBmp('screencapture_entire.bmp')

# Save an arbitrary rectangle of the virtual screen as a BMP (no PIL required)
saveRectToBmp('screencapture_256_256.bmp', rect=(0, 0, 256, 256))

# Save the entire virtual screen as a PNG
entireScreen = getScreenAsImage()
entireScreen.save('screencapture_entire.png', format='png')

# Get bounding rectangles for all displays, in display order
print("Display rects are:", getDisplayRects())
# -> something like [(0, 0, 1280, 1024), (-1280, 0, 0, 1024), (1280, -176, 3200, 1024)]

# Capture an arbitrary rectangle of the virtual screen: (left, top, right, bottom)
rect256 = getRectAsImage((0, 0, 256, 256))
rect256.save('screencapture_256_256.png', format='png')

# Unsynchronized capture, one display at a time.
# If you need all displays, use getDisplaysAsImages() instead.
Example #13
0
from desktopmagic.screengrab_win32 import saveRectToBmp
import time
from datetime import datetime

while True:
    print("60 seconds until next")
    time.sleep(60)
    currTime = datetime.now().time()
    fixed = str(currTime).replace(":", "")
    saveRectToBmp("Screenshot" + str(fixed) + ".png",
                  rect=(-690, -40, -150, 260))
    print("Screenshot taken")