图像作为绘制形状的“背景”

2024-03-07

是否可以使用图像而不是颜色来“填充” HTML5 画布上的形状?

我画了一堆形状(各个角以 45 度角切掉的正方形)。我希望能够用图像而不是颜色来“填充”这些形状。目前我有一行指出:

context.fillStyle = '#123456' // example fill color

我正在寻找的是这样的:

context.fillStyle = 'url(http://www.myimagereference.com/image.png)';

我知道我不能以这种方式使用 fillStyle - 但是还有其他方法可以实现这种事情吗?


你可能想看看创建模式 http://www.whatwg.org/specs/web-apps/current-work/multipage/the-canvas-element.html#dom-context-2d-createpattern
下面是一个简单的代码,演示了如何使用创建模式

var canvas = document.getElementById("canvas");
var ctx = canvas.getContext("2d");
var w = canvas.width = 256;
var h = canvas.height = 256;
var img = new Image();

img.src = "http://www.gravatar.com/avatar/e555bd971bc2f4910893cd5b785c30ff?s=128&d=identicon&r=PG";
img.onload = function () {
    var pattern = ctx.createPattern(img, "repeat");
    ctx.fillStyle = pattern;
    ctx.fillRect(0, 0, w, h);
};

尝试一个例子 http://jsfiddle.net/36vfdx27/

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

图像作为绘制形状的“背景” 的相关文章

随机推荐

  • Apple Music Kit - 为店面 B 的用户播放店面 A 中具有用户 ID 的歌曲

    如果我在美国并且想播放两门电影俱乐部的歌曲 Sun 我会使用 ID544390857 我可以在 例如 中执行此操作systemMusicPlayerApple Music 中开始播放该歌曲 如果我的朋友在英国并且想要播放同一首歌 请发送54
  • Reporting Services 图表 - 自定义轴标签

    我有一个 SQL Server Reporting Services 2008 图表 错误图表 X 轴的日期间隔为 1 1 2009 2 1 2009 等 Y 轴的数字间隔为 50 Y 轴上的值为 0 50 和 100 但是 不显示 0 5
  • UIImageView更改宽度和高度

    我读过这里提出类似问题的各种帖子 我尝试过发布的各种方法 包括边界和框架等 包括以下内容 myImage frame CGRectMake 0 0f 0 0f 50 0f 50 0f and myImage bounds CGRectMak
  • 如何停止 adb 端口转发?

    可以转发端口adb forward tcp 8080 tcp 8080 但是我需要终止 adb 服务器来停止此转发吗 我正在寻找一种方法来停止 adb 中端口的转发 在设置之后 但不再需要转发时 Try adb forward remove
  • 警告:ftp_get():删除操作成功

    我有一些从我们的开发服务器传输备份的代码 它似乎随机表现得非常奇怪 并给出以下错误 输出 Warning ftp get Delete operation successful in root cron get dev archives p
  • Android 中对 EditField 的表情符号键盘支持

    我的应用程序在 Samsung Galaxy S3 上使用 Android 4 0 我想在 Android 应用程序的 EditText 字段中集成表情符号字符支持 谁能建议我 我怎样才能实现它 例如 在whatsapp和微信应用程序中 T
  • 提供者:如何在“StreamBuilder()”中使用“notifyListener()”?它会导致错误“在构建期间调用 setState() 或 markNeedsBuild()”

    我有一个Provider model例如provider model dart import package flutter material dart class ProviderModel extends ChangeNotifier
  • 竹持续集成

    我是这个持续集成工具的新手 名为 Bamboo 有人可以为我指出正确的方向 我可以在其中获取有关如何设置此 Bamboo 的信息 如何编写用于不同环境的自动部署的脚本 谢谢提前 您将使用 ant 脚本或 Maven pom xml 进行部署
  • 是否可以在弹性布局中定位每行的第一个和最后一个元素?

    给定 Flex 布局中的缩略图列表 如果 Flex 容器具有可变宽度 是否可以仅使用 CSS 来定位每行的第一个和最后一个元素 thumbnails display flex margin 0 padding 0 list style ty
  • 账户与azure AD关联后如何从Alexa获取accesstoken

    我尝试将 Alexa AWS Lambda 函数 node js 6 10 与 Azure Active Directory 连接到我的 Azure Cloud API 读完后文档 https developer amazon com do
  • 部署后出现 Angular 的“未捕获错误:[$injector:unpr]”

    我有一个相当简单的 Angular 应用程序 它在我的开发机器上运行得很好 但在部署它后失败并显示此错误消息 在浏览器控制台中 Uncaught Error injector unpr http errors angularjs org u
  • 带 ref/Pointer 参数的 C# 反射调用方法

    我想通过反射调用类的每个方法 但无法使用指针作为引用来调用方法 通常我可以为我找到的每个指针传递 null 一切都会好起来的 问题是当函数尝试访问我传递的指针时 该指针将是对内存地址 0 的引用 这显然对我的程序来说会立即崩溃 所以我需要传
  • Spring 集成 TCP

    我想设置 Spring TCP 服务器客户端应用程序 我需要一个服务器侦听端口上的传入消息 例如 6666 并且客户端在不同的端口上发送消息 例如 7777 我已遵循文档 http docs spring io spring integra
  • 在 cocoa/iPhone 中将纪元时间转换为 NSDate

    我有纪元时间的值 比如 123456789 现在我想将其转换为NSDate在可可框架中 谁能告诉我吗 thanks 文档 http developer apple com iphone library documentation Cocoa
  • 使用 Firestore,如何使用 java 类序列化文档中的引用类型字段?

    如果我有一个包含 引用 类型字段的 Firestore 文档 那么在使用自动 POJO Java 对象序列化时如何读取和写入该字段 POJO 类型字段文档参考 https firebase google com docs reference
  • WPF 相当于 TextRenderer

    我用过TextRenderer测量字符串的长度 从而适当调整控件的大小 WPF 中是否有等效项或者我可以简单地使用TextRendered MeasureString 谢谢纪修 阅读您的链接后 我想到了以下两个内容 它们都适合我
  • Python将整列添加到csv文件中,而不读取文件内容

    我需要使用 Python 将列添加到 csv 文件 我能想到的唯一方法是读取整个文件 编辑每一行以添加 1 个元素 然后再次写入文件 然而 我真的不想这样做 因为文件的大小 超过 32000 行 每次我想添加列时似乎需要大量的读写 即使使用
  • 如何从 fgets 中检测空字符串

    我试图将 stdin 中的 fgets 输入检测为空 当我按 Enter 键而不输入任何内容时 这是我的程序 int main char input 1000 printf Enter fgets input 1000 stdin inpu
  • 如何使用 box2d 在 libgdx 中拖动对象?

    我已将对象添加到box2d世界在libgdx 我想知道是否可以用鼠标拖动对象 如果是这样 怎么办 thanks 这里有几个选项 您可以使用鼠标关节 也可以使用运动体并手动设置其位置 看看如何使用鼠标关节的一个很好的例子 http code
  • 图像作为绘制形状的“背景”

    是否可以使用图像而不是颜色来 填充 HTML5 画布上的形状 我画了一堆形状 各个角以 45 度角切掉的正方形 我希望能够用图像而不是颜色来 填充 这些形状 目前我有一行指出 context fillStyle 123456 example