Thread Tk Canvas (Image Area oder Mouse Coordinates) (4 answers)
Opened by StrongSteve at 2007-06-05 21:43

StrongSteve
 2007-06-05 21:43
#46415 #46415
User since
2007-06-05
2 Artikel
BenutzerIn
[default_avatar]
Hi Leute!

Ich möchte gerne in Perl mittels TK ein Bild (gif) einbinden und dann bestimmte Areas definieren, denen ich für ein Click-Event unterschiedliche Funktionen zuweisen kann. Evt. auch einen Mouseover-Text.

Im Prinzip genau dasselbe wie in HTML mittels Image Maps möglich ist. Image Maps

Da ich keine Möglichkeit gefunden habe Areas zu definieren ist mein Plan zur Zeit der Folgende:

- Bild in einem Canvas anzeigen
- Bei einem Klick auf das Bild eine Funktion aufrufen, dort die Mauskoordinaten auslesen und ja nach Mauskoordinaten eine bestimmte Funktion aufrufen (if-else Kaskade)

Teil 1 habe ich schon. In etwa so:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
    #!/usr/bin/perl -w
use strict;
use Tk;
my $main = new MainWindow;
my $canvar = $main ->Canvas;
$canvar->pack;
my $file = 'image.gif';
my $img =
$canvar->Photo( 'imggif',
-file => $file );

$canvar->create( 'image',0,0,
'-anchor' => 'nw',
'-image' => $img,
);

MainLoop;


Kann mir wer mit dem Auslesen der Mauskoordinaten helfen? Oder gibt es noch eine bessere Möglichkeit?

Danke im Voraus!

mfg
Stefan

View full thread Tk Canvas (Image Area oder Mouse Coordinates)