2016-07-29 4 views
1

Javaスクリプトの新しい機能私は、PCからキャンバスへのロードイメージ(スケッチ)によるJavaスクリプトのフラッドフィルを実装しようとしていましたが、 誰も助けてくれませんか? ありがとうadvanceJavaスクリプトのフラッドフィルアルゴリズムの実装

+0

キャンバスに画像を追加できます。 var can = document.getElementById( 'canvas'); var ctx = can.getContext( '2d'); var img = new Image(); img.onload = function() { can.width = img.width; can.height = img.height; ctx.drawImage(img、0、0、img.width、img.height); } img.src = 'zlati-nathalie.jpg'; –

答えて

0

イメージをキャンバスに描画するには、iamgeを最初に読み込む必要があります。ここ はキャンバスに描画する方法の例です:

var img = new Image(); 
img.onload = function() { 
    //draw after loading 
    canvas = document.getElementById('case_canvas'); 
    var ctx = canvas.getContext("2d"); 
    ctx.drawImage(img, 0, 0, img.naturalWidth, img.naturalHeight); 
} 

img.src = "http://i.stack.imgur.com/xgNw7.png"; 
//^^ this will start loading the image 

フィドル:https://jsfiddle.net/pmeb1uhm/1/

注意してください:あなたが原因のセキュリティ(クロス元ポリシー)にあなたのシステム上にある画像を描画問題が発生する可能性があり限界。あなたのブラウザのdev-consoleにエラーが表示されるはずです。 ブラウザのセキュリティ設定を変更する代わりに、localhostでスクリプトを実行し、localhostを使用してイメージをロードすることを強くお勧めします。

+0

それは私のために働いてくれてありがとう 今あなたは洪水の充填を実装するために助けてください 私は非常に感謝されます –

+0

今アルゴリズムを開始するには、ピクセル配列にアクセスする必要があります。また、ローカルサーバーで作業していない場合、クロスオリジンポリシーによって問題が発生する可能性があります。 開始するには、多くのソースがあります。 http://stackoverflow.com/questions/17714742/looping-through-pixels-in-an-image ここで重要なのは、rows/cols/r、g、b、a値を含む配列を取得していることです – Wolfgang