【问题标题】:display image by using uint16array data使用 uint16array 数据显示图像
【发布时间】:2018-10-20 09:06:37
【问题描述】:

我正在使用 XTK 库做一个 DICOM 项目。现在我需要从输入的 DICOM 文件创建一个缩略图列表(输出图像可以是 PNG 或 JPG)。

在渲染过程中,XTK 在每个 DICOM 文件的Uint16Array 中提供像素数据数组。但我不知道将这些像素数据转换为画布。

我搜索了一些相关的文章或问题,但一无所获。

【问题讨论】:

    标签: javascript canvas dicom xtk uint16


    【解决方案1】:

    如今,ImageData has become a constructor,您可以轻松地将其置于 2d 上下文中。

    它期望作为参数的是一个 UInt8ClampedArray、一个宽度和一个高度。

    所以从表示 rgba 像素数据的 Uint16Array 中,你只需要这样做

    var data = your_uint16array;
    var u8 = new Uint8ClampedArray(data.buffer);
    var img = new ImageData(u8, width, height);
    ctx.putImageData(img, 0,0);
    

    但是根据你的截图,你实际上是一个 Uint16Array 的数组,所以你可能必须首先将所有这些 Uint16Array 合并为一个。

    另请注意,Uint16Array 是 rgba 像素数据的奇怪视图,Uint32Array 更传统(#ffff 与 #ffffffff)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-30
      • 1970-01-01
      • 2014-02-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多