Как убрать цвет фона при использовании изображения холста html5? - PullRequest
2 голосов
/ 25 июня 2011

Если холст может отделить фоновый цвет от внешнего изображения, которое загружено (drawimage) в этот холст?

Я думаю, что canvas может манипулировать пикселями, поэтому он должен лишить цвет фона изображения. После некоторых поисков я все еще не могу найти ответ или какую-либо идею для этого.

1 Ответ

1 голос
/ 25 июня 2011

в демо, которое я написал (личный спам;) есть кое-что, что вам может понадобиться:

полный источник здесь

  • сначала он читает изображение

    brush.load({
    imageUrl: "brush-2.png",
    onload: function (brush) { 
        setBG(brush);
    }
    

    });

  • , затем обрабатывает пиксели

    for(p = 0; p < l; p = p + 4){
      r = pixels.data[p + 0];
      g = pixels.data[p + 1];
      b = pixels.data[p + 2];
      a = pixels.data[p + 3];
    
      pixels.data[p + 0] = k;
      pixels.data[p + 1] = m;
      pixels.data[p + 2] = o;
      pixels.data[p + 3] = a;
    

    }

  • затем он устанавливает изображение из imageData

    document.body.style.backgroundImage= "url(" + ctx.canvas.toDataURL() + ")";
    

подробнее здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...