Executando verificação de segurança...
1

necessariamente você não vai manipular o Buffer diretamente pois isso ia ser trabalhoso demais, e acho que ninguém ensina isso, você tem que usar algum package de manipulação de imagens, por exemplo o canvas

nesse exemplo eu pego uma imagem apartir de um buffer, usando o package canvas eu giro ela, gero um buffer da imagem gerada e salvo em outro arquivo.

const { createCanvas, loadImage } = require("canvas");
const { readFileSync } = require("fs");

const canvas = createCanvas(800, 600);
const ctx = canvas.getContext("2d");

const imagemEmBuffer= fs.readFileSync("bla/bla/image.jpg");

loadImage(imagemEmBuffer).then((image) => {
    ctx.save();
    ctx.translate(400, 300);
    ctx.rotate(Math.PI / 2);
    ctx.drawImage(image, -300, -400, 600, 800);
    ctx.restore();
    
    const newBuffer = canvas.toBuffer();
    fs.writeFileSync("bla/bla/imagem_rodada.jpg", newBuffer);
});
Carregando publicação patrocinada...