2016-08-04 4 views
-2

画像に画像フィルタを追加する基本的なアプリケーションを作っています。ここにコードがあります。画像フィルタでjavascriptエラーが発生する

class ImageUtils { 

static getCanvas(w, h) { 
    var c = document.querySelector("canvas"); 
    c.width = w; 
    c.height = h; 
    return c; 
} 

static getPixels(img) { 
    var c = ImageUtils.getCanvas(img.width, img.height); 
    var ctx = c.getContext('2d'); 
    ctx.drawImage(img, 0, 0); 
    return ctx.getImageData(0,0,c.width,c.height); 
} 

static putPixels(imageData, w, h) { 
    var c = ImageUtils.getCanvas(w, h); 
    var ctx = c.getContext('2d'); 
    ctx.putImageData(imageData, 0, 0); 
} 

} 

function getRandomInt(min, max) { 
    return Math.floor(Math.random() * (max - min + 1)) + min; 

... 

function makeMoreRed(img, adjustment){ 

var pixels = ImageUtils.getPixels(img); 
var length = pixels.data.length; 
var data = pixels.data; 

for(var r = 0; r < length; r += 4) { 
    data[r] += adjustment; 
} 
ImageUtils.putPixels(pixels, img.width. img.height); 
} 

... 

$(document).ready(function() { 
var img = new Image(); 
img.src = "img/cat.jpg"; 
makeMoreRed(img, 50); 
}); 

私はWebページでそれを起動すると、Chromeは関数の最後にセミコロンが、何もありませんので、これはどんな意味がありません javascript error

このエラーがスローされます。

ここにあなたがトップ画像に変化(フィルタリングすることになっている1)がないことを見ることができるので、これを解決する方法上の任意の解決策はあり two cat pictures

+0

あなたは、幅と高さの間にカンマ '、' ImageUtils.putPixels(pixels、img.width、img.height) 'がありません。 –

+0

ようこそStackOverflow a1phabetaへ。私は完全にエラーであなたの欲求不満を理解しますが、それを*愚かな*と呼ぶと、人々はあなたの質問に否定的な態度を持つようになります。また、可能であれば、まずjsFiddleでコードをテストしてエラーが発生していないかどうかを確認してください。そうであれば、コードを投稿してテストにリンクすることができ、より迅速に答えを得ることができます! –

答えて

0

それは単なるタイプミスで、あなたは

ImageUtils.putPixels(pixels, img.width. img.height); 

ただし、ドットの代わりにコンマを付ける必要があります。

1

あなたが.代わりの,を持っているため、エラーが発生します。

ImageUtils.putPixels(pixels, img.width. img.height); 

は比較:

ImageUtils.putPixels(pixels, img.width, img.height); 

は、私たちが現実の問題を助けるためにここにいる、あなたの構文をチェックするためにStackOverflowを使用しないでください。

関連する問題