画布像素数据的跨浏览器规范?

2023-12-15

有谁知道当前画布像素数据规范在各种浏览器中可以追溯到多远?如果“没那么远”,之前的规格是什么?

当你调用或推送像素时,你得到/发送:

ImageData
  data:   Uint8ClampedArray
  width:  Number
  height: Number

但我知道它曾经只是:

{
  data:   Array
  width:  Number
  height: Number
}

所以如果我是生成ImageData,如何检测我需要生成什么?是ImageData && Uint8ClampedArray充足的?我呢?立即地回落到Object / Array, 或者是其他东西?难道在某个时候没有像素阵列吗?

[编辑] caniuse 说 IE10 和 Opera Mini 不支持 Uint8ClampedArray,所以...?


打电话时ctx.getImageData(), 规格要求 UserAgent 返回一个类型数组而不指定哪种类型。支撑对于 TypedArray 从 IE10 开始。但是,就像在 IE9 中一样,ImageData对象是一个CanvasPixelArray,它没有可用的构造函数方法。

但无论如何,最好的和IMK获取所需的正确 ArrayBuffer 的唯一跨浏览器方法ImageData对象,就是调用ctx.createImageData(width,height).

然后你就可以得到它的data数组并且您确定它的类型是正确的。

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

画布像素数据的跨浏览器规范? 的相关文章

随机推荐

  • 在 Swift 中添加和删除视图叠加

    从这个问题得出 从 Swift 中的任何类加载屏幕 Issue 调用 hideOverlayView 时 加载叠加视图将显示但不会隐藏 但奇怪的是 叠加层在一段时间后消失 出现后 15 到 30 秒 Code 包含在FirstControl
  • android.content.res.Resources$NotFoundException:资源 ID #0x0 java 异常

    当运行尝试显示对象的 ListView 的片段时会发生此异常 我已经研究了该异常 但其他情况的解决方案似乎与 setText 函数有关 或者尝试将字符串以外的任何内容显示为字符串 我真的不知道还能说什么 提前致谢 Java类 import
  • 从 ASP.NET MVC2 应用程序执行 Ajax 调用时出现问题

    我正在将现有的 ASP NET 应用程序转换为 MVC2 并且我有一个使用 Ajax 通过 jQuery 调用的现有方法 该方法以前可以工作 但现在不起作用 因此 由于使用 MVC2 我似乎需要做一些我无法弄清楚的更改 我已经降低了代码的复
  • Windows 应用程序可以选择用 C++ 写入控制台吗?

    我想要一个具有以下行为的 Windows 应用程序 1 如果它是从现有的命令行窗口 cmd exe 启动 那么它将其标准输出写入该控制台 2 如果通过双击其图标来启动它 则它不会打开新控制台 也不会在任何地方写入其标准输出 为了达到 1 我
  • 围绕画布中的中心点旋转图像

    围绕其中心旋转画布上的图像 我尝试了网上的一些例子 但失败了 如果我正在使用bitmap creatbitmap使用矩阵我收到错误 请建议我哪个更好 提前致谢 Aswan 您可以使用矩阵来旋转 首先设置位置 我使用位图中心的坐标 然后进行旋
  • 为什么 sed 不会从文件中删除行?

    我试图从文件中删除特定行 然后将编辑后的行附加到文件中 我得到了最后一部分 但我删除旧行的 sed 命令不起作用 sed userinput d file1 txt gt file2 txt 这最终会将所有文件内容添加到新文件中 而不仅仅是
  • 找到字符串的第一个字符,然后将其与符号C ++进行比较

    尝试检查字符串的第一个字符以查看它是否包含 string pathname test if pathname at 0 if first character is a slash then delete the slash but only
  • 每个源文件的标头

    我试图了解每个源文件方法的一个标头背后的目的 在我看来 标头用于共享函数声明 typedef使用它们的多个文件之间的 和宏 当你为你的头文件 c它的缺点是 每次您想要查看函数声明或宏时 您都需要引用头文件 并且通常更简单的是 所有内容都在一
  • 什么是 pro *c?

    这有什么用 我们如何从数据库中访问数据 Pro C 实际上是一个用 C 代码访问 Oracle 数据库的预编译器 您可以使用以下语句编写代码 int sal EXEC SQL SELECT salary INTO sal FROM empl
  • PHP Composer Autoload 出现类未找到错误

    错误是 Fatal error Uncaught Error Class Championsweb Model VO CompeticionVO not found in E Drive Proyectos ChampionsEclipse
  • 保存来自 url 的图像

    是否可以使用保存图像Visual Basic 2008从 URL 到我的电脑 例如 From www domain com image jpg to C folder image jpg P S 我需要最简单的代码示例 然后我将根据需要进行
  • 将 UISplitViewController 放在自己的 XIB 中?

    我的 iPad 应用程序以显示登录信息的普通 UIView 启动 用户登录后 屏幕应该切换到分割视图 然而 XCode 的 SplitViewTemplate 以及我在网上找到的所有示例 将 UISplitViewController 放置
  • R - 根据与现有列匹配的值索引创建新列数据框

    我有一个名为的数据框imp2 大约 6 000 行 其中有 9 列标记 savres1 savres9 每列中的值为 1 或 0 对于每一行 只有其中 1 列的值为 1 其余均为 0 我想创建一个名为的新专栏 savres 我将在其中放入一
  • API分页最佳实践

    我希望有人帮助我使用我正在构建的分页 API 来处理奇怪的边缘情况 与许多 API 一样 该 API 对大量结果进行分页 如果您查询 foos 您将获得 100 个结果 即 foo 1 100 以及指向 foos page 2 的链接 该链
  • VBA ADO 连接到 .xlsx 文件

    我正在尝试使用 ADO 连接从关闭的 Excel 2007 工作簿 xlsx 复制数据 我有连接字符串工作 但是 当我尝试打开记录集中的命令 倒数第二行 时 出现自动化错误 这在下面的代码中可能不太清楚 所以 wsSummary 是一个工作
  • 如何将 GWT UIBinder 与 Canvas 集成?

    我正在尝试使用 Google Web Toolkit 找到解决办法 现在我正试图得到一个Canvas小部件已启动并运行 但我收到此错误并且不明白为什么 Compiling module de kuntze HelloCanvas Compu
  • 如何在 C# 中创建整数序列?

    F has 序列允许创建序列 seq 0 10 创建从 0 到 10 的数字序列 C 中有类似的东西吗 您可以使用Enumerable Range 0 10 例子 var seq Enumerable Range 0 10 MSDN 页面h
  • Prolog IntList 定义

    如果 IntList 由单调递增的 gt 整数后跟单调递减的整数组成 hill IntList 成功 例如 gt 1 2 5 8 11 6 3 1 是一座小山 但 1 2 5 8 11 6 9 3 1 和 1 2 3 4 5 6 gt 不是
  • SSRS 2008 Word 导出无法横向打印

    我有许多 SSRS 2008 报告需要以横向模式导出到 word 导出时 报告看起来很棒 但当您尝试打印 甚至预览 页面时 Word 似乎尝试以纵向模式打印报告 因此会截断距离页面最左侧超过 8 5 英寸的所有内容 我已确保已进行以下设置
  • 画布像素数据的跨浏览器规范?

    有谁知道当前画布像素数据规范在各种浏览器中可以追溯到多远 如果 没那么远 之前的规格是什么 当你调用或推送像素时 你得到 发送 ImageData data Uint8ClampedArray width Number height Num