2
我使用DrRacket 5.3.4獲取圖像的X Y當畫布已滾動
有一幀F的帆布Ç
我設置滾動條到畫布上。
我希望得到的圖像的座標 (不是主窗口中,框架的左上相對座標)
?我怎樣才能圖像的X和Y?
總之,滾動條很感動,所以我可以看到圖像的區域,其x和y是從90,90至290,290
在這一刻,我將鼠標移動到窗口的左上角。並獲得0,0。
但我想得到90,90。
我該怎麼做?
謝謝!
#lang racket/gui
(require racket/draw)
(define f
(new frame%
[label "hey"]
[width 200]
[height 200]))
(define img (read-bitmap "some_image.png"))
(define img-w (send img get-width))
(define img-h (send img get-height))
(define (pcb c dc)
(send dc draw-bitmap img 0 0))
(define my_c%
(class canvas%
(define/override (on-event e)
(printf "x: ~a y: ~a \n" (send e get-x) (send e get-y)))
(super-new)))
(define c (new my_c%
[parent f]
[style (list 'hscroll 'vscroll)]
[paint-callback pcb]))
(send c init-auto-scrollbars img-w img-h 0 0)
(send f show #t)