首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fillStyle如何在bs-webapi Canvas2d中工作?

fillStyle如何在bs-webapi Canvas2d中工作?
EN

Stack Overflow用户
提问于 2019-10-29 08:32:58
回答 1查看 77关注 0票数 0

我想知道如何使用bs-webapi和Canvas2d接口在ReasonML中创建和设置填充样式。

我想我可能需要的定义是

代码语言:javascript
复制
let fillStyle = (ctx: t) =>
  ctx |> fillStyle |> reifyStyle;

但我很难理解。

我以前使用过这个项目作为示例的来源,但我认为自该项目编写以来,bs-webapi已经发生了变化。至少下面的行是按照示例建模的:

代码语言:javascript
复制
Canvas2d.fillStyle(ctx, "rgba(0,255,255,255)");

给我这个错误:

代码语言:javascript
复制
Error: This function has type
         Webapi.Canvas.Canvas2d.t => (Webapi.Canvas.Canvas2d.style('a), 'a)
       It is applied to too many arguments; maybe you forgot a `;'.
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-10-29 09:38:12

您想要的函数是setFillStyle

代码语言:javascript
复制
Canvas2d.setFillStyle(ctx, String, "rgba(0,255,255,255)");

这很久以前就被从fillStyle重命名了,因为那时还没有getter,约定是命名getter fillStyle和setter setFillStyle。同时,它被用来支持渐变和模式。

setFillStyle现在的工作方式是,第二个参数决定第三个参数的类型。如果将String作为第二个参数传递,则第三个参数必须是string。如果您通过了Gradient,它需要是一个gradient,您可以从createLinearGradientcreateRadialGradient获得它。最后,您可以传递Pattern,这需要第三个参数是从createPattern获得的pattern

通常,您应该参考Canvas2d测试文件来获取使用示例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58603748

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档