相关疑难解决方法(0)

将blob URL转换为普通URL

我的页面生成如下URL:"blob:http%3A//localhost%3A8383/568233a1-8b13-48b3-84d5-cca045ae384f"如何将其转换为普通地址?

我使用它作为一个<img>src属性.

javascript url blob

82
推荐指数
3
解决办法
17万
查看次数

如何在javascript中将dataURL转换为文件对象?

我需要在Javascript中将dataURL转换为File对象,以便使用AJAX将其发送出去.可能吗?如果是,请告诉我如何.

javascript jquery fileapi

37
推荐指数
4
解决办法
6万
查看次数

使用javascript和websockets从blob显示图像

我目前正在研究一个显示由C++服务器发送的图像的WebSocket应用程序.我在那里看到了几个主题,但我似乎无法在Firefox中摆脱这个错误:

图像损坏或截断:data:image/png; base64,[some data]

这是我用来显示我的blob的Javascript代码:

socket.onmessage = function(msg) {
    var blob = msg.data;

    var reader = new FileReader();
    reader.onloadend = function() {
        var string = reader.result;
        var buffer = Base64.encode(string);
        var data = "data:image/png;base64,"+buffer;

        var image = document.getElementById('image');
        image.src = data;
    };
    reader.readAsBinaryString(blob);
}
Run Code Online (Sandbox Code Playgroud)

我正在使用我在这个主题上找到的红点图片:https://stackoverflow.com/a/4478878/1464608 而Base64类来自这里:https://stackoverflow.com/a/246813/ 1464608

但我获得的base64结果不匹配,Firefox检索到图像被损坏的错误.

我知道这不是很多信息,但我不知道在哪里看:/任何帮助都非常受欢迎!

javascript html5 blob filereader websocket

26
推荐指数
4
解决办法
6万
查看次数

在fabric.js中将Canvas作为PNG下载,给出网络错误

我想使用fabric.js将Canvas下载为PNG.在下载时我想缩放图像.所以我使用multipliertoDataURL()函数的属性.但我得到了失败 - 网络错误

PS:如果我不给multiplier属性,它正在下载,但我确实想要使用multiplier属性,因为我必须缩放图像

这就是我在做的事情:

HTML代码:

<canvas width="400" height="500" id="canvas" ></canvas>
 <a id='downloadPreview' href="javascript:void(0)"> Download Image </a>
Run Code Online (Sandbox Code Playgroud)

JS

document.getElementById("downloadPreview").addEventListener('click', downloadCanvas, false);

var _canvasObject = new fabric.Canvas('canvas');

var downloadCanvas =    function(){
    var link = document.createElement("a");

link.href = _canvasObject.toDataURL({format: 'png', multiplier: 4});
      link.download = "helloWorld.png";
     link.click();

}
Run Code Online (Sandbox Code Playgroud)

html javascript canvas fabricjs

22
推荐指数
2
解决办法
1万
查看次数

为什么这个包含 SVG 的 `blob:` URL 会污染 Chrome 中的画布?

我正在做以下:

  1. 生成一个 SVG 文档作为字符串
  2. 将其捕获在blob:带有new Blob和的URL 中createObjectURL
  3. fabric.Image使用它从它创建一个对象fromURL
  4. fromURL回调中,调用canvas.add将新添加Image到画布

这是我的代码:

var svg = '<svg xmlns="http://www.w3.org/2000/svg" width="200" height = "200"><foreignObject width="100%" height="100%"><text xmlns = "http://www.w3.org/1999/xhtml" style = "font-size: 40px; color: #FFFFFF">Example</text></foreignObject></svg>';
var svgBlob = new Blob([svg], {type: 'image/svg+xml'});
var svgURL = window.URL.createObjectURL(svgBlob);
 fabric.Image.fromURL(svgURL,function(oIMG) {
   oIMG.crossOrigin = 'Anonymous';
   canvas.add(oIMG);
 });
Run Code Online (Sandbox Code Playgroud)

然后我试试 getImageData:

var dataImage = context.getImageData(0,0,canvas.width,canvas.height).data;
Run Code Online (Sandbox Code Playgroud)

在 Chrome 中,这给了我错误:

未捕获的 DOMException:无法在“CanvasRenderingContext2D”上执行“getImageData”:画布已被跨域数据污染。

这很奇怪,因为我从不使用任何跨域 URL,只使用blob:URL。

在 Firefox 中,它完美运行。该问题似乎是 Chrome …

javascript google-chrome fabricjs

6
推荐指数
1
解决办法
1012
查看次数

带有手绘线条的 HTML5 画布

我是 HTML5 中画布的新学习者,目前正在尝试为孩子们制作一个简单的画线项目。我将背景图像插入画布中,并尝试提出一种徒手画线的方法,但没有结果。有人可以帮我修复下面的代码吗?之前谢谢大家。

<!DOCTYPE HTML>
<html>
    <script type="text/javascript">
    var canvas, ctx, flag = false,
        prevX = 0,
        currX = 0,
        prevY = 0,
        currY = 0,
        dot_flag = false;

    var x = "black",
        y = 2;

    function init() {
        canvas = document.getElementById('can');
        ctx = canvas.getContext("2d");
        w = canvas.width;
        h = canvas.height;

        canvas.addEventListener("mousemove", function (e) {
            findxy('move', e)
        }, false);
        canvas.addEventListener("mousedown", function (e) {
            findxy('down', e)
        }, false);
        canvas.addEventListener("mouseup", function (e) {
            findxy('up', e)
        }, false);
        canvas.addEventListener("mouseout", function (e) {
            findxy('out', …
Run Code Online (Sandbox Code Playgroud)

html javascript canvas html5-canvas

1
推荐指数
1
解决办法
3860
查看次数

如何在Svelte中使用本地静态图像

我正在按照教程(https://svelte.dev/tutorial/dynamic-attributes)导入本地图像文件。但这没有用。在应用程序中找不到该图像。

我需要在哪里找到这些图像以使其像本教程中那样工作?

let src = './images/background.jpg'
.
.
.
<img {src} alt="background image" />
Run Code Online (Sandbox Code Playgroud)

浏览器显示“找不到图像”。

svelte

1
推荐指数
5
解决办法
1030
查看次数