이미지의 특정 위치나 특정 rgba값을 가진 픽셀에 대하여 해당 픽셀의 rgba값을 바꿀 수 있다.
<canvas>를 이용한 이미지 복제
<canvas>태그를 이용하면 img태그에서 불러온 이미지를 해당 태그안으로 복제할 수 있다.
script를 이용하여 canvas.getContext("2d")를 통해 객체를 생성하고, 해당 객체의 drawImage(img객체, 0, 0)를 이용하면 이미지가 canvas태그로 복제된다.
Ex )
drawImage(img, 0, 0)의 2,3번째 인자는 window의 좌표값이다.
이미지의 픽셀정보 가져오기
위에서 getContext(“2d”)로 생성된 ctx객체의 getImageData(0,0, width, height)를 이용하면 4칸당 하나의 픽셀정보(rgba)를 가지고 있는 배열을 반환하게 된다. 인자는 해당 이미지의 x, y, width, height값을 입력한다.
Ex )
픽셀 순회 ( rgba 값 바꾸기 )
위에서 getImageData()를 이용하여 가져온 픽셀배열 데이터는 [r],[g],[b],[a]를 반복하는 배열이다. 따라서 4칸씩 순회하면 하나의 픽셀마다 순회가 가능해진다.
Ex )