<tfoot id='0JQwH'></tfoot>

        <i id='0JQwH'><tr id='0JQwH'><dt id='0JQwH'><q id='0JQwH'><span id='0JQwH'><b id='0JQwH'><form id='0JQwH'><ins id='0JQwH'></ins><ul id='0JQwH'></ul><sub id='0JQwH'></sub></form><legend id='0JQwH'></legend><bdo id='0JQwH'><pre id='0JQwH'><center id='0JQwH'></center></pre></bdo></b><th id='0JQwH'></th></span></q></dt></tr></i><div id='0JQwH'><tfoot id='0JQwH'></tfoot><dl id='0JQwH'><fieldset id='0JQwH'></fieldset></dl></div>
        <legend id='0JQwH'><style id='0JQwH'><dir id='0JQwH'><q id='0JQwH'></q></dir></style></legend>

        <small id='0JQwH'></small><noframes id='0JQwH'>

          <bdo id='0JQwH'></bdo><ul id='0JQwH'></ul>
      1. 二进制数组到画布

        Binary array to canvas(二进制数组到画布)

        <tfoot id='QOieR'></tfoot>
        1. <legend id='QOieR'><style id='QOieR'><dir id='QOieR'><q id='QOieR'></q></dir></style></legend>

            <small id='QOieR'></small><noframes id='QOieR'>

          • <i id='QOieR'><tr id='QOieR'><dt id='QOieR'><q id='QOieR'><span id='QOieR'><b id='QOieR'><form id='QOieR'><ins id='QOieR'></ins><ul id='QOieR'></ul><sub id='QOieR'></sub></form><legend id='QOieR'></legend><bdo id='QOieR'><pre id='QOieR'><center id='QOieR'></center></pre></bdo></b><th id='QOieR'></th></span></q></dt></tr></i><div id='QOieR'><tfoot id='QOieR'></tfoot><dl id='QOieR'><fieldset id='QOieR'></fieldset></dl></div>
                  <tbody id='QOieR'></tbody>
                • <bdo id='QOieR'></bdo><ul id='QOieR'></ul>
                  本文介绍了二进制数组到画布的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我想将 jpeg 图像从二进制数组加载到画布(目前正在尝试使用 Uint8Array).我一直在网上寻找解决方案,但我能找到的只是将数组转换为 base64,然后加载效率不高的图像.

                  I'm would like to load a jpeg image to a canvas from a binary array (currently trying with an Uint8Array). I've been looking all over the net for a solution but all I could find is converting the array to base64 and then loading the image which is not very efficient.

                  这是我用于加载图像的代码:

                  Here is my code used for loading the image:

                  <!DOCTYPE html>
                  <html>
                  <head>
                  </head>
                  <body>
                  <canvas id="MainImage" width="756" height="600">Your browser doesn't support html5</canvas>
                  <script type="text/javascript">
                  _Request = new XMLHttpRequest();
                  var url = "http://localhost/AAA/S.jpg";
                  try {
                     _Request.onreadystatechange = function() {
                        if (_Request.readyState == 4 && _Request.status == 200) {
                           var downloadedBuffer = _Request.response;
                           if (downloadedBuffer) {
                              var binaryByteArr = new Uint8Array(downloadedBuffer);
                           }
                        }
                        _Request.open('GET', url, true);
                        _Request.responseType = 'arraybuffer';
                        _Request.send();
                  } catch (e) {
                  }
                  </script>
                  </body>
                  </html>
                  

                  我想将此处理后的图像数组加载到画布上.

                  I would like to load this processed array of the image to a canvas.

                  这只是一个示例,我的原始代码接收一个二进制数组,其中包含多个 jpeg 图像在一个数组中,因此其他方法不起作用.

                  This is just a sample, my original code receives a binary array with multiple jpeg images in a single array so other methods wont work.

                  任何帮助将不胜感激

                  推荐答案

                  假设您有一种方法可以将二进制数组拆分为每个图像的数组(通过已知长度或使用 JPEG 标头来识别新图像),您可以使用 Blob 和一个对象 URL:

                  Assuming you have a way of splitting the binary array into arrays per image (either by a known length or using the JPEG header to identify the new image) you can use Blob and an object URL:

                  示例(基于 这个来自 MDN 的示例):

                  var imageData = GetTheTypedArraySomehow();
                  var blob = new Blob([imageData], {type: "image/jpeg"});
                  var url = URL.createObjectURL(blob);
                  

                  现在您可以将图像的 url 设置为 src::

                  Now you can set the url as src for an image::

                  var img = new Image();
                  img.onload = function() {
                      /// draw image to canvas
                      context.drawImage(this, x, y);
                  }
                  img.src = url;
                  

                  这篇关于二进制数组到画布的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                  本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  How to make rooftext effect and valley text effect in HTML5 (or Fabric.js)(如何在 HTML5(或 Fabric.js)中制作屋顶文字效果和山谷文字效果)
                  Draw border around nontransparent part of image on canvas(在画布上的图像不透明部分周围绘制边框)
                  dragging and resizing an image on html5 canvas(在 html5 画布上拖动图像并调整其大小)
                  What#39;s the difference between a boolean as primitive and a boolean as property of an object?(作为原始对象的布尔值和作为对象属性的布尔值有什么区别?)
                  I want to do animation of an object along a particular path(我想沿特定路径对对象进行动画处理)
                  How to upload image into HTML5 canvas(如何将图像上传到 HTML5 画布中)
                  <tfoot id='R9bLh'></tfoot>

                          <tbody id='R9bLh'></tbody>
                          <bdo id='R9bLh'></bdo><ul id='R9bLh'></ul>

                            <small id='R9bLh'></small><noframes id='R9bLh'>

                          1. <i id='R9bLh'><tr id='R9bLh'><dt id='R9bLh'><q id='R9bLh'><span id='R9bLh'><b id='R9bLh'><form id='R9bLh'><ins id='R9bLh'></ins><ul id='R9bLh'></ul><sub id='R9bLh'></sub></form><legend id='R9bLh'></legend><bdo id='R9bLh'><pre id='R9bLh'><center id='R9bLh'></center></pre></bdo></b><th id='R9bLh'></th></span></q></dt></tr></i><div id='R9bLh'><tfoot id='R9bLh'></tfoot><dl id='R9bLh'><fieldset id='R9bLh'></fieldset></dl></div>
                          2. <legend id='R9bLh'><style id='R9bLh'><dir id='R9bLh'><q id='R9bLh'></q></dir></style></legend>