Avatar billede molehonter Mester
14. maj 2021 - 19:27 Der er 3 kommentarer og
2 løsninger

Turtle gem output som jpg fil

from turtle import Turtle, Screen

import datetime

# get the current time and convert to the hand's angles
wn = Screen()
wn.title("Clock")
wn.bgcolor("white") #saddlebrown
wn.setup(width=500, height=500)
currentDT = datetime.datetime.now()

******
# moving hour hand
def moveHourHand():
  currentHourInternal = Piktogram_Time()
  degree = (currentHourInternal - 15) * -30
  currentMinuteInternal = datetime.datetime.now().minute
  degree = degree + -0.5 * currentMinuteInternal
  hourHand.setheading(degree)
  wn.ontimer(moveHourHand, 60000)


# moving minute hand
def moveMinuteHand():
    currentMinuteInternal = Piktogram_Min()
    degree = (currentMinuteInternal - 15) * -6
    currentSecondInternal = datetime.datetime.now().second
    degree = degree + (-currentSecondInternal * 0.1)
    minuteHand.setheading(degree)
    wn.ontimer(moveMinuteHand, 1000)


if __name__ == "__main__":
  #moveHourHand()
  #moveMinuteHand()
  wn.ontimer(moveHourHand, 1)
  wn.ontimer(moveMinuteHand, 1)
  wn.exitonclick()

Jeg har brug for lidt hjælp til at gemme outputtet på en JPG fil, jeg har søgt har ikke fået brugbart.
Jeg har ikke kopiret hele koden her, da det virker som det skal men har behov for at kunne gemme det billede som turtle laver.

Hilsen

Peter
Avatar billede ejvindh Ekspert
15. maj 2021 - 12:11 #1
En mulighed kunne jo være, at lave et helt almindeligt screendump af det, som er på skærmen?
Avatar billede ejvindh Ekspert
15. maj 2021 - 12:17 #2
Alternativt, hvis det skal være automatisk: Først lave en svg-fil:
https://stackoverflow.com/a/45625195
...og så herefter konvertere denne svg til en jpg:
https://stackoverflow.com/a/62876618
Avatar billede molehonter Mester
17. maj 2021 - 22:26 #3
Hej
Det vil jeg lige prøve det ser enkelt ud.
Avatar billede molehonter Mester
23. maj 2021 - 22:54 #4
Jeg fik det endelig det til at fungere, med nogle hint fra dig.

def main_ur():
  moveHourHand()
  moveMinuteHand()
  turtle.update()
  fileName = 'test'
  wn.tracer(False)
  wn.tracer(True)
  canvas = wn.getcanvas()
  canvas.postscript(file= fileName+'.eps', width=400, height=500)
  EpsImagePlugin.gs_windows_binary = r'C:\Program Files\gs\gs9.54.0\bin\gswin64c'
  img = Image.open(fileName + '.eps')
  img.save(fileName + '.png')
  wn.exitonclick()

if __name__ == "__main__":
  main_ur()
Avatar billede ejvindh Ekspert
24. maj 2021 - 18:48 #5
Dejligt at du fik det til at virke :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester