मैं यह जानना चाहता हूं कि पाइथन के कछुए मॉड्यूल के साथ चित्र बनाने के बाद बिटमैप या वेक्टर ग्राफिक्स छवि को कैसे सहेजना है। थोड़ी सी गुगलिंग के बाद मुझे एक आसान जवाब नहीं मिल रहा है। मुझे canvas2svg नामक एक मॉड्यूल मिला, लेकिन मैं पाइथन के लिए बहुत नया हूं और मुझे नहीं पता कि मॉड्यूल को कैसे इंस्टॉल किया जाए। क्या कछुए कैनवास की छवियों को बचाने के लिए कुछ बनाया गया है? अगर मैं उबंटू मशीन पर पाइथन के लिए कस्टम मॉड्यूल कहां नहीं डालूं?पायथन टर्टल मॉड्यूल- एक छवि सहेजना
उत्तर
from Tkinter import *
from turtle import *
import turtle
forward(100)
ts = turtle.getscreen()
ts.getcanvas().postscript(file="duck.eps")
यह आपकी मदद करेगा; मुझे एक ही समस्या थी, मैंने इसे गुगल किया, लेकिन इसे कछुए मॉड्यूल के स्रोत को पढ़कर हल किया।
कैनवास (tkinter) ऑब्जेक्ट में पोस्टस्क्रिप्ट फ़ंक्शन है; आप इसका उपयोग कर सकते हैं।
कछुए मॉड्यूल में "व्हाटस्क्रीन" है जो आपको "कछुए स्क्रीन" देता है जो आपको टिक्ंटर कैनवास देता है जिसमें कछुआ चित्रकारी कर रहा है।
यह आपको encapsulated PostScript प्रारूप में सहेज लेगा, ताकि आप इसे निश्चित रूप से जीआईएमपी में उपयोग कर सकें लेकिन अन्य दर्शक भी हैं। या, आप Google से .gif बनाने के लिए कैसे कर सकते हैं।
पायथन 2.7 के कछुए में, इसमें पहले से ही पोस्टस्क्रिप्ट फ़ंक्शन है। तो, आपको अलग से टिंकर आयात करने की आवश्यकता नहीं है। –
मैं सिर्फ यह जोड़ना चाहता हूं कि ईपीएस फ़ाइल उसी स्थान पर सहेजी जाती है जैसे स्क्रिप्ट है। –
मैंने SvgTurtle
कक्षा लिखी जो पाइथन से मानक टर्टल इंटरफ़ेस का समर्थन करता है, और svgwrite मॉड्यूल का उपयोग करके एक एसवीजी फ़ाइल लिखता है। svgwrite स्थापित करें, svg_turtle.py
डाउनलोड, और फिर इसे इस तरह कहते हैं:
from turtle import * # @UnusedWildImport
import svgwrite
from svg_turtle import SvgTurtle
def draw_spiral():
fillcolor('blue')
begin_fill()
for i in range(20):
d = 50 + i*i*1.5
pencolor(0, 0.05*i, 0)
width(i)
forward(d)
right(144)
end_fill()
def write_file(draw_func, filename, size):
drawing = svgwrite.Drawing(filename, size=size)
drawing.add(drawing.rect(fill='white', size=("100%", "100%")))
t = SvgTurtle(drawing)
Turtle._screen = t.screen
Turtle._pen = t
draw_func()
drawing.save()
def main():
write_file(draw_spiral, 'example.svg', size=("500px", "500px"))
print('Done.')
if __name__ == '__main__':
main()
मेरा मानना है कि आपके पास 'draw_spiral()' -> 'draw_spiral()' 'def write_file' –
में होना चाहिए, मुझे लगता है कि आप' draw_spiral() '->' draw_func() ', @ Mr.Weathers का मतलब है। तुम सही हो, यही मेरा मतलब था, इसलिए मैंने इसे ठीक कर दिया है। –
घटना आप पारदर्शी रूप से (जो समाप्त ग्रेडिंग छात्र असाइनमेंट में सहायता के लिए अर्द्ध उपयोगी) कार्यक्रम के निष्पादन के अंत में एक छवि को बचाने के लिए चाहते हैं, कृपया जांचें: https://github.com/ucsb-cs/cTurtle_screenshot – bboe