2012-09-12 4 views
4

Node.js를 사용하여 픽셀 데이터 배열에서 PNG 이미지를 만들 수 있습니까? RGBA 값의 배열에서 PNG 이미지를 만든 다음 파일에 저장하고 싶습니다.node.js를 사용하여 PNG 이미지 생성

+0

Google에서 먼저 확인해 보겠습니다. https://github.com/pkrumins/node-png – Blender

+0

다음도 찾았습니다. https://github.com/pkrumins/node-image –

+0

어떤 libPNG 패키지가 필요한가요? node-png를 사용하려면 설치 하시겠습니까? –

답변

4

jimp을 사용할 수 있습니다.

const Jimp = require('Jimp'); 


let imageData = [ 
    [ 0xFF0000FF, 0xFF0000FF, 0xFF0000FF ], 
    [ 0xFF0000FF, 0x00FF00FF, 0xFF0000FF ], 
    [ 0xFF0000FF, 0xFF0000FF, 0x0000FFFF ] 
]; 


let image = new Jimp(3, 3, function (err, image) { 
    if (err) throw err; 

    imageData.forEach((row, y) => { 
    row.forEach((color, x) => { 
     image.setPixelColor(color, x, y); 
    }); 
    }); 

    image.write('test.png', (err) => { 
    if (err) throw err; 
    }); 
}); 

이 코드는 배열 색상으로 정의 된 3x3 픽셀의 png 파일을 만듭니다.

+0

안녕하세요, 어떤 아이디어를''[... [r, g, b], [5, 63, 255] ...]'와 같은 픽셀 배열에서 어떻게'imageData' 배열을 만들 수 있습니까? – Frondor

+0

@Frondor, Jimp.rgbaToInt (r, g, b, a);를 사용하여 16 진수 형식의 색상을 만들어야합니다. – Byte

+0

그래, 몇 가지 구글 검색 후에 알아 냈어. 고맙습니다! – Frondor