【发布时间】:2017-12-19 07:11:46
【问题描述】:
大家好,
我正在做一个用彩色线条表示数据的项目。
例如,如果您全天给我 300 个天空颜色样本。我想把它们画在这样的一条线上:
左边的亮色代表白天,右边的暗色代表夜间。
这很容易,但是对于我的实际项目,我有大约一百万个样本而不是 300 个。我想使用这些数据制作一条类似于上面的线,但宽度为 1,000,000 像素,高度为 16。
它必须是图像格式,因为我将通过不同的图像压缩算法(即 jpg、jpg2000、webp ect..)运行此图像并在结果中搜索模式。
我想为此使用 HTMl Canvas,但是每个 majoy 浏览器中 html canvas 的最大宽度远小于一百万。
铬:
最大高度/宽度:32,767 像素
火狐:
最大高度/宽度:32,767 像素
IE:
最大高度/宽度:8,192 像素
图片总面积很正常,只是Canvas不喜欢的宽度。
有没有办法在浏览器中关闭这些限制?或者是否有其他编程环境可以轻松设置来构建这样的图片?
感谢您的帮助!
【问题讨论】:
-
您是否有任何理由需要实际图像而不仅仅是使用原始值?另外,你为什么不写一些简单的、未压缩的图像文件,比如 BMP 或 TGA,你只写一个简单的标题,然后是原始像素数据?
-
@Mario 感谢您的回复。将其保存为图像是最好的,因为我想对其进行测试的压缩算法都是基于图像的。将其保存为 BMP 是我没有想到的一个有趣的想法。我将不得不研究制作标题所需的规格。非常感谢您。
-
很可能您使用了错误的工具。如果您需要获取图像,则无需使用浏览器。试试 adobe photoshop 或类似的东西。
-
不是没有办法,也没有其他编程环境可以满足您的要求,因为您要测试的文件格式本身的宽度限制小于您的要求。 (JPEG 为 65,535,webp 为 16383)。我不清楚您的最终目标是什么,但您可能只是想在合并结果之前分析较小的样本。
标签: javascript css html canvas