小编dai*_*isy的帖子

context.getImageData()操作不安全

我想为HTML5画布实现一个简单的灰度过滤器,但我可以将Image数据作为像素抓取.我从FF和Chrome获得安全警告.最后,滤镜不会使图像变灰.

JS FIDLE CODE

JS:

    var canvas = document.getElementById('canvas');       
var context = canvas.getContext('2d');  

var image = new Image();
image.onload = function () {
  if (image.width != canvas.width)
    canvas.width = image.width;
  if (image.height != canvas.height)
    canvas.height = image.height;
  context.clearRect(0, 0, canvas.width, canvas.height);
  context.drawImage(image, 0, 0, canvas.width, canvas.height);
  var imageData = context.getImageData(0, 0, canvas.width, canvas.height);
  filter(imageData);
  context.putImageData(imageData, 0, 0);
}
image.src = "http://i0.gmx.net/images/302/17520302,pd=2,h=192,mxh=600,mxw=800,w=300.jpg";

function filter(imageData){
 var d = imageData.data;
   for (var i = 0; i < d.length; i += 4) {
     var …
Run Code Online (Sandbox Code Playgroud)

firefox html5 canvas filter

9
推荐指数
2
解决办法
9024
查看次数

通过鼠标和触摸在画布上绘图

我想在画布上绘图,使用鼠标效果很好,但是我必须如何修改代码才能使其在 iPad 或 Nexus 上运行?

关联

 var canvas = document.getElementById('canvas');
    var ctx = canvas.getContext('2d');
    var width  = window.innerWidth;
    var height = window.innerHeight;
    canvas.height = height;
    canvas.width = width;

    canvas.addEventListener('mousedown', function(e) {
        this.down = true;   
        this.X = e.pageX ;
        this.Y = e.pageY ;
    }, 0);

    canvas.addEventListener('mouseup', function() {
        this.down = false;          
    }, 0);

    canvas.addEventListener('mousemove', function(e) {
      
        if(this.down) {
             with(ctx) {
                beginPath();
                moveTo(this.X, this.Y);
                lineTo(e.pageX , e.pageY );
                ctx.lineWidth=1;
                stroke();
             }
             this.X = e.pageX ;
             this.Y = e.pageY ;
        }
    }, 0);
Run Code Online (Sandbox Code Playgroud)

html canvas touch

6
推荐指数
2
解决办法
4060
查看次数

什么是base64长度(以字节为单位)?

我有一个用Base64编码的文件,文件长度很长.如何获得字节大小?

例:

var size= canvas.toDataURL();   

console.log(resizeCanvasURL.length);


// -> 132787  base64 length
Run Code Online (Sandbox Code Playgroud)

javascript base64 canvas

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

JS - 不可破坏空间的转换

我正在从 HTML 元素中读出文本并将其保存在 JS 数组中,但如果用户放入多个空白空间,它将转换为不可破坏的空格符号。稍后,如果我读出数组,它会打印出“ ”而不是空白。如何检测空白区域?

&nbsp  //instead of an empty space
Run Code Online (Sandbox Code Playgroud)

我尝试替换,但它不起作用:

myText.replace(/(&nbsp;)*/g," ")
Run Code Online (Sandbox Code Playgroud)

html javascript

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

使用jquery向上移动列表项

我想通过单击向上移动列表中的单个项目.我正在使用jQuery但它不起作用.

小提琴

<ul>
    <li class="item">AAAAA</li>
    <li class="item">BBBBB</li>
    <li class="item">CCCCC</li>
    <li class="item">DDDDD</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
$(".item").click( function(){
    var item = $(this);
    item.insertBefore(item.before());
}); 
Run Code Online (Sandbox Code Playgroud)

html javascript jquery list

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

标签 统计

canvas ×3

html ×3

javascript ×3

base64 ×1

filter ×1

firefox ×1

html5 ×1

jquery ×1

list ×1

touch ×1