User since
2007-10-05
31
Artikel
BenutzerIn
Hi,
gibt es eine Möglichkeit in einem Canvas zu zoomen?
In meinem Canvas werden Querschnitte von Flugzeugflügeln angezeigt.
Ich hab mir zwar überlegt einfach die gezeichneten Linien mit einem Faktor zu multiplizieren, aber das is halt nicht grad ein schöner weg.
Gibts da eine besondere Funktion oder einen Trick um das zu realisieren?
Danke
User since
2007-09-24
70
Artikel
BenutzerIn
Hallo,
es gibt die Methode 'scale'. Mit dem Tag 'all' 'zoomt' das den ganzen Canvas - also es transformiert die Koordinaten, um alles andere musst du dich selbst kümmern...
Einzelheiten in
'perldoc Tk::Canvas'
Grüße, Christoph
User since
2007-06-09
575
Artikel
HausmeisterIn
es gibt noch ein widget, das heißt Tk::WorldCanvas, das kann man dafür auch benutzen, lässt sich sogar mit ppm installieren
Gerade weil wir alle in einem Boot sitzen, sollten wir froh sein, dass nicht alle auf unserer Seite sind
User since
2003-11-28
3645
Artikel
ModeratorIn
Vielleicht wäre auch zu überlegen, statt Tk::Canvas
Tk::Zinc zu verwenden. Da sind die Skalierungsmöglichkeiten unter Umständen besser.
User since
2004-06-28
46
Artikel
BenutzerIn
Hallo zusammen,
möchte nochmal den alten Thread aufwärmen.
Nachdem ich einige Jahre mit Tk::WorldCanvas gearbeitet habe, dass ja eine ganz komfortable Zoomfunktion besitzt, beginne ich gerade die Anwendung auf Tkx umzubauen. Es gelingt mir die Grafikobjekte (eine digitale Flurkarte) zu laden. Mit bbox komme ich auch noch (fast) klar. Nach bbox - "all" stehen die scrollknöpfe nicht wie ich hoffte oben, sondern unten (das scheint mit den negativen y-Koordinaten zusammenzuhängen?).
Nun möchte ich eine Scrollfunktion realisieren (bzw. vier: -zoom auf alles, - in die Zeichnung zoomen, -aus der Zeichnung zommen und auf ein Fenster zoomen). Ich habe versucht den Code vom WorldCanvas zu lesen und zu analysieren, bin dabei aber kläglich gescheitert. Auch das Internet bietet hier wenig. Daher meine Frage: hat jemand soetwas schon einmal gemacht und vielleicht sogar einen (verständlichen) Beispielcode?
Das wäre toll - Danke Helmut