Поискайте изображение и го кодирайте в необработен пикселен буфер в Node

Бих искал да манипулирам изображение в Node и да го избутам към S3, без да се налага да го запазвам локално.

В момента използвам модула lwip, който приема буфери "суров пиксел". Моят код за получаване на буфер е такъв.

request.get( { url: imageUrl, setEncoding: null }, function ( err, response, body ) {
    if ( err ) 
        reject( new Error( err ) )

    image.buffer = body

    resolve( image )
})

Но това изглежда не се приема. Има ли начин да получите тези необработени пикселни данни или друг модул, който поддържа този тип буфер?


person Noah    schedule 06.03.2015    source източник
comment
В документацията на lwip се казва, че в случай на необработен пикселен буфер ще ви трябва ширина и височина на изображението. В момента имам този проблем, защото тъй като вече имам необработения пикселен буфер, нямам размерите. Така че трябва по-добре да го преобразувате в кодирани данни за изображение вместо там, където нямате нужда от размери.   -  person Pramus    schedule 13.02.2016


Отговори (1)


Поддържам модула sharp Node.js, който приема много формати на компресирани изображения като вход и след преоразмеряване по избор, може да ги конвертира в сурови, некомпресирани RGB (или RGBA) пикселни данни в буфер. Може ли това да осигури това, което търсите?

person Lovell Fuller    schedule 07.03.2015
comment
Здравей Ловел, знаеш ли как мога да получа височината и ширината на буфер за необработено изображение, за да мога да го предам на твоя конструктор? - person Miguel Coder; 20.01.2019