Hello dear PixiJS community,
finally i began to love pixijs ![:)]()
now I want to
a ) outline a sprite (from a png file as a texture)
like ive done it here with canvas:
https://twitter.com/InsOp_de/status/514917023839944704
b ) change a certain color into another one (usually magenta or pink)
again, like in my example the blue square.
that way i dont have to make a sprite for every color, but use only one and
manipulate the image data.
With canvas i did it like that
// getting Stuff var imgData = game.canvasForegroundContext.getImageData(x, y, imageSize, imageSize); var data = imgData.data; //height of the image section var row = imgData.data.length/imageSize; var sur = { nw:-row-4,n:-row,no:-row+4, w:-4, o:+4, sw:+row-4,s:+row,so:+row+4 }; for (var i = 0; i < data.length; i += 4) { //surroundings if(data[i+3]!=255){ for(var key in sur){ j = i+sur[key] //ignore shadows, check if isnt already an outline if(data[j+3]>100 && data[j] != rgba.r && data[j + 1] != rgba.g && data[j + 2] != rgba.{ data[i] = rgba.r; data[i + 1] = rgba.g; data[i + 2] = rgba.b; data[i + 3] = rgba.a; } } } }
and this was pretty ugly. is there already a filter or a function for this? or perhaps is there something like "imgData.data;" ?