Hallo Zusammen,
Ich habe folgendes kleines Programm zum automatischen Abspeichern von
TDS4XX Screenshots geschreiben.
Dabei wartet es auf den Empfang des Screenshots, speichert ihn nach dem
Empfangen automatisch ab, zeigt ihn an und wartet auf den nächsten.
Die Sendeparameter sind dabei:
Bardrate=19200,
Bytesize=8
Parity='N'
Stopbits=1,
xonxoff=0,
rtscts=1
Beim abspeichern wird die BMP-Datei dabei zu PNG umgewandelt, dadurch
werden aus 38KB nur noch ~5-8KB.
Zur Nutzung sind die Python-Libs Erweiterungen PIL und serial nötig.
1 | from PIL import Image
|
2 | import sys
|
3 | import serial
|
4 | import io
|
5 | import os
|
6 |
|
7 | flag = 0
|
8 | cnt = 0
|
9 | s = bytearray()
|
10 | ser = serial.Serial('COM1', 19200, bytesize=8,parity='N', stopbits=1, timeout=1, xonxoff=0, rtscts=1)
|
11 | durchl =0
|
12 | Bytes1=0
|
13 | Bytes2=0
|
14 | fileformat = '.bmp'
|
15 | while 1:
|
16 | while flag == 0:
|
17 | Bytes2=len(s)
|
18 | s = s + ser.read()
|
19 | if Bytes2 == Bytes1 and Bytes2 > 0 : #Wenn Inhalt drinn ist
|
20 | flag = 1
|
21 | Bytes1=Bytes2
|
22 | f = open('Screen' + str(cnt) + fileformat, 'w+b')
|
23 | binary_format = bytearray(s)
|
24 | f.write(binary_format)
|
25 | f.close()
|
26 |
|
27 |
|
28 | im=Image.open('Screen' + str(cnt) + fileformat)
|
29 | a=im.rotate(270,0,1)
|
30 | a.show()
|
31 | a.save('Screen' + str(cnt) + '.png')
|
32 | os.remove('Screen' + str(cnt) + fileformat)
|
33 | flag=0
|
34 | Bytes1=0
|
35 | Bytes2=0
|
36 | s = bytearray()
|
37 | cnt=cnt+1
|
Nun möchte ich jedoch auch Farb-Plots im EPS-Format abspeichern können,
so einen zeigt der EPS-Screen.
Dabei gibt es in Zeile 29 bei der Umwandlung/Drehen von EPS zu PNG ein
problem.
1 | "Unable to locate Ghostscript on paths"
|
Dabei habe ist Ghostscript 9.26 installiert und auch als
PATH-Umgebungsvariable angegeben.
Wäre sehr schön wenn jemand wüsste wie man dass Problem löst?
Grüße und Vielen Dank,
Matthias