gpt4 book ai didi

canvas - js_of_ocaml 中带有水平滚动条的 Canvas

转载 作者:行者123 更新时间:2023-12-02 04:51:55 24 4
gpt4 key购买 nike

我在 js_of_ocaml 中创建了一个 Canvas ,如下所示。

(* create document *) 
let document = Dom_html.window##document

(* function to create canvas *)
let create_canvas () =
let canvas = Dom_html.createCanvas document in
canvas##width <- 500;
canvas##height <- 500;
canvas

(* create canvas *)
let canvas = create_canvas ()

let start _ =
let main = get_main () in
Dom.appendChild main canvas;
Js._false in

Dom_html.window##onload <- Dom_html.handler start

我只能看到一个白色的屏幕。
现在,我想向 Canvas 添加一个水平滚动条。
我想我必须制作一个带有水平滚动条的盒子,该盒子比白色 Canvas 小,并且白色 Canvas 在盒子里。
我怎样才能做到这一点?

最佳答案

您可以将 Canvas 放入宽度小于 Canvas 宽度的div中。检查以下代码:

module Html = Dom_html 

let doc = Html.window##document

let create_div () =
let div = Html.createDiv doc in
div##style##width <- Js.string "500px";
div##style##overflowX <- Js.string "scroll";
div


let create_canvas () =
let canvas = Dom_html.createCanvas document in
canvas##width <- 900;
canvas##height <- 900;
canvas

let start _ =
let main = get_main () in
let wrapper = create_div () in
let canvas = create_canvas () in
Dom.appendChild wrapper canvas;
Dom.appendChild main wrapper;
Js._false in

Dom_html.window##onload <- Dom_html.handler start

此代码是以下 jsfiddle 的 js_of_ocaml 的翻译:https://jsfiddle.net/pre1wacc/

关于canvas - js_of_ocaml 中带有水平滚动条的 Canvas ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31448167/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com