代码之家  ›  专栏  ›  技术社区  ›  Darko

使用画布从页面获取像素数据

  •  2
  • Darko  · 技术社区  · 15 年前

    如果我在一个页面上有一个qt视频(qt是一个不能更改的要求),我如何获取画布显示的当前帧的像素数据?我知道这是可能的 getImage(videoElement, .....) 但我正在寻找一种使用qt的解决方案。

    如果无法获取像素数据,那么是否可以使用画布截图并对其进行修剪?

    或者我这样做是错误的,根本不需要使用画布?

    4 回复  |  直到 15 年前
        1
  •  1
  •   Marius    15 年前

    这在画布上是不可能的。您所指的函数与画布无关,它与视频元素有关。video元素返回画布可以使用的图片,而qt对象(或嵌入)则不返回。

        2
  •  1
  •   jedierikb grijalvaromero    15 年前

    你能依赖Java在客户机上可用吗?如果是这样,你可以使用一个屏幕上的Java applet(使用Java库的QuiTime)与JavaScript和QuiTime插件进行对话,以获得给定帧的像素数据。此解决方案需要将电影加载到QuickTime插件和小程序中。见 http://processing.org/reference/libraries/video/index.html 对于简化的API。

    这不是一个优雅的解决方案。我不喜欢。只是头脑风暴。

        3
  •  0
  •   jedierikb grijalvaromero    15 年前

    另一个想法是预先处理QuickTime电影,并在服务器上保留像素数据。Ajax是页面需要的正确帧数据。根据视频的压缩程度,这可能是一个好主意,因为由于关键帧的存在,为每一帧获取准确的像素数据可能很困难。

        4
  •  0
  •   Robert    15 年前

    Mozilla上的这个例子: https://developer.mozilla.org/En/Manipulating_video_using_canvas 使用 getImageData() 对Context对象执行函数,以在视频中替换ChromaKey。