小编jaz*_*ato的帖子

如果在Chrome上运行,createObjectURL不起作用

大家好,

我试图从websocket服务器(在.NET中)检索图像我将图像作为字节发送然后在客户端检索它,在客户端检索代码(使用canvas和JavaScript):

var c=document.GetElementById("myCanvas");
var ctx=c.getContext("2d");
ws.onmessage=function(evt)
{
    var image=new Image();
    image.src=URL.createObjectURL(evt.data);
    ctx.drawImage(image,0,0);
}
Run Code Online (Sandbox Code Playgroud)

它完美地在firefox上显示图片,但是在Chrome上,它只返回undefined并且不会通过createObjectURL加载图像我使用的是Chrome 18.0.1025.162

任何的想法?

javascript html5 canvas websocket

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

使用HTML5 Canvas为绘画应用创建逼真的铅笔工具

首先,我想说我做了很多研究,并试着自己没有任何成功.

我正在使用Canvas开发一个类似MSPaint的应用程序,我想创建一个像手工绘图一样逼真的铅笔工具 ......以下是使用默认工具链接的示例: http://www.onemotion .COM /闪光灯/草图漆/

我尝试使用mousespeed和linewidth属性但它运行不正常(整个行在我移动鼠标时放大和缩小).我不知道算法作用于像素原始数据.

您是否知道现有的东西或适用的算法?非常感谢您的帮助

编辑

我决定添加我选择的解决方案,因为它似乎让很多人感兴趣.因此,到目前为止,我发现的最好的事情是使用此处解释的技术在画布上绘制图像:http://css.dzone.com/articles/sketching-html5-canvas-and.它就像一个魅力,结果真的很有说服力,这很容易实现.在这里试试:http://tricedesigns.com/portfolio/sketch/brush.html#

javascript canvas image-processing html5-canvas

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

Jquery:用prev()获取上一张图片

这是我的问题:

$("#gallery > img").live('click',function() {
    $(this).prev().css("background" , "#f99"); // WORKS !
    var src = $(this).prev().src;               // DOESN'T WORK (src is undefined)
});
Run Code Online (Sandbox Code Playgroud)

我在google chrome调试器中看到prev()函数返回一个jQuery.fn.jQuery.init [1]对象...它似乎包含我希望在索引0处使用prev()的HTMLImageElement,但是使用它就像数组不起作用.

我迷路了,我可以帮忙...谢谢你们

jquery image src

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

将画布数据保存到数组时出现问题

我正在使用HTML5画布创建一个Web应用程序来绘制图像(比如绘制web),我尝试实现"撤消"(ctrl + Z)和"重做"功能,这里我面临着一个画布元素数组的奇怪问题.有时,当我按下ctrl + Z进行撤消时,会出现一个空白图像,但是数据在数组中并且我指向正确的元素(因为当我使用undo/redo时,我设法以正确的顺序校正图像).

如果你能看看下面的代码,我将不胜感激,我已经花了很多时间,我无法找到问题...... :-(

function Stack(firstImg , size) {
    var drawStack = new Array();
    var stackIndex = 0;
    var stackTop = 0;
    var stackFloor = 0;
    var stackSize = size; 

    drawStack[0] = firstImg;

    this.add = function() {
        drawStack[++stackIndex%stackSize] = cvs.toDataURL("image/png");
        if (stackIndex >= stackSize) stackFloor = (stackIndex +1) % stackSize ;
        stackTop = stackIndex % stackSize;
    }

    this.undo = function () {
        if (stackIndex%stackSize == stackFloor ) return;
        clearCanvas();
        var tmpImg = new Image();
        tmpImg.src = drawStack[--stackIndex%stackSize]; …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 canvas image

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