Initial commit
This commit is contained in:
79
testtkinker.py
Normal file
79
testtkinker.py
Normal file
@@ -0,0 +1,79 @@
|
||||
#!/usr/bin/env python3
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
import sys
|
||||
|
||||
from PIL import Image, ImageChops, ImageDraw, ImagePalette
|
||||
if sys.platform == "linux" or sys.platform == "linux2":
|
||||
from Xlib import display, X
|
||||
# take screen images, that's not the best way, so here
|
||||
# we use directly use xlib to take the screenshot.
|
||||
class ImageGrab():
|
||||
def grab():
|
||||
dsp = display.Display()
|
||||
root = dsp.screen().root
|
||||
geom = root.get_geometry()
|
||||
w = geom.width
|
||||
h = geom.height
|
||||
raw = root.get_image(0, 0, w ,h, X.ZPixmap, 0xffffffff)
|
||||
image = Image.frombytes("RGB", (w, h), raw.data, "raw", "BGRX")
|
||||
return image
|
||||
|
||||
elif sys.platform == "darwin":
|
||||
import Quartz.CoreGraphics as CG
|
||||
class ImageGrab():
|
||||
def grab():
|
||||
screenshot = CG.CGWindowListCreateImage(CG.CGRectInfinite, CG.kCGWindowListOptionOnScreenOnly, CG.kCGNullWindowID, CG.kCGWindowImageDefault)
|
||||
width = CG.CGImageGetWidth(screenshot)
|
||||
height = CG.CGImageGetHeight(screenshot)
|
||||
bytesperrow = CG.CGImageGetBytesPerRow(screenshot)
|
||||
|
||||
pixeldata = CG.CGDataProviderCopyData(CG.CGImageGetDataProvider(screenshot))
|
||||
|
||||
i = Image.frombytes("RGBA", (width, height), pixeldata)
|
||||
(b, g, r, x) = i.split()
|
||||
i = Image.merge("RGBX", (r, g, b, x))
|
||||
|
||||
return i
|
||||
|
||||
else:
|
||||
from PIL import ImageGrab
|
||||
|
||||
|
||||
|
||||
thickarrow_strings = ( #sized 24x24
|
||||
"XX ",
|
||||
"XXX ",
|
||||
"XXXX ",
|
||||
"XX.XX ",
|
||||
"XX..XX ",
|
||||
"XX...XX ",
|
||||
"XX....XX ",
|
||||
"XX.....XX ",
|
||||
"XX......XX ",
|
||||
"XX.......XX ",
|
||||
"XX........XX ",
|
||||
"XX........XXX ",
|
||||
"XX......XXXXX ",
|
||||
"XX.XXX..XX ",
|
||||
"XXXX XX..XX ",
|
||||
"XX XX..XX ",
|
||||
" XX..XX ",
|
||||
" XX..XX ",
|
||||
" XX..XX ",
|
||||
" XXXX ",
|
||||
" XX ",
|
||||
" ",
|
||||
" ",
|
||||
" ")
|
||||
|
||||
|
||||
buf = ""
|
||||
for x in thickarrow_strings:
|
||||
buf += x
|
||||
|
||||
i = Image.frombytes("I", (24,24), str.encode(buf))
|
||||
print(i)
|
||||
i.show()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user