我想为HTML5画布实现一个简单的灰度过滤器,但我可以将Image数据作为像素抓取.我从FF和Chrome获得安全警告.最后,滤镜不会使图像变灰.
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) 我想在画布上绘图,使用鼠标效果很好,但是我必须如何修改代码才能使其在 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) 我有一个用Base64编码的文件,文件长度很长.如何获得字节大小?
例:
var size= canvas.toDataURL();
console.log(resizeCanvasURL.length);
// -> 132787 base64 length
Run Code Online (Sandbox Code Playgroud) 我正在从 HTML 元素中读出文本并将其保存在 JS 数组中,但如果用户放入多个空白空间,它将转换为不可破坏的空格符号。稍后,如果我读出数组,它会打印出“ ”而不是空白。如何检测空白区域?
  //instead of an empty space
Run Code Online (Sandbox Code Playgroud)
我尝试替换,但它不起作用:
myText.replace(/( )*/g," ")
Run Code Online (Sandbox Code Playgroud) 我想通过单击向上移动列表中的单个项目.我正在使用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)