Scheme 将图像插入到帧x y坐标中
嗨,我想知道如何插入一个图像到一个窗口,但坐标Scheme 将图像插入到帧x y坐标中,scheme,racket,mit-scheme,Scheme,Racket,Mit Scheme,嗨,我想知道如何插入一个图像到一个窗口,但坐标 (define ventana (new frame% [label "Ba"] [width 1100] [height 600])) (define tablero-panel (new horizontal-panel% (parent ventana)
(define ventana (new frame%
[label "Ba"]
[width 1100]
[height 600]))
(define tablero-panel (new horizontal-panel%
(parent ventana)
;(label "Group Box Panel")
(alignment '(left top))
(min-width 500)
(min-height 500)
(stretchable-width #f)
(stretchable-height #f)
;(spacing 100)
;(vert-margin 100)
;(horiz-margin 500)
; (border 50)
)
)
我需要那个图像在窗框里,但在特定的坐标里
若要插入,我在该页上找到了,但我无法协调它们可以在xy中
您试图做的是违反gui库的粒度。GUI库的设计主要是将布局的控制权交给它,而不是试图自己控制它。看 如果您想要更多地控制绘制对象的位置,可以使用单个实例创建一个框架,并在该框架内绘制您想要的任何内容。您可以使用画布的绘图上下文(dc) 例如:
#lang racket/gui
(require net/url)
(define f (new frame%
[label "Test"]
[width 500]
[height 500]))
(define bm (make-object bitmap% (get-pure-port
(string->url "http://racket-lang.org/logo.png"))))
(define pos 0)
(define mycanvas%
(class canvas%
(super-new)
(inherit get-dc)
(define/override (on-paint)
(let ([my-dc (get-dc)])
(send my-dc draw-bitmap bm pos pos)))))
(define c (new mycanvas% [parent f]))
(send f show #t)
(void
(thread (lambda ()
(let loop ()
(set! pos (add1 pos))
(send c refresh)
(sleep 1/20)
(loop)))))
上述代码在语法上不正确。你试过了吗?事实是,我有这样一个想法:它在主消息中被编辑一个公共用户如何通过消息%但是我不能设置显示图像的窗口的坐标