1
resposta

Converter base64 tiff para jpg

Boa noite pessoal! Eu estou com uma dificuldade aqui para converter um base64 que é uma imagem tiff para jpg. Eu ainda não consegui uma solução e gostaria de uma luz. Vou colocar o código que eu fiz aqui.

base64FileHeaderMapper(fileBase64) {

    let fileHeader = new Map();

    //get the first 3 char of base64
    fileHeader.set("/9j", "jpg");
    fileHeader.set("iVB", "png");
    fileHeader.set("Qk0", "bmp");
    fileHeader.set("TU0", "tiff");
    fileHeader.set("JVB", "pdf");
    fileHeader.set("UEs", "ofd");

    let res = "";
    let extension = "";
    console.log('751', fileHeader)
    fileHeader.forEach((v, k) => {
        if (k == fileBase64.substr(0, 3)) {
          console.log('754');
          extension = v;
        }
    })

    //if file is not supported
    if (extension == "") {
      extension = "unknown file"
    }
    this.imgUrl = "data:image/" + extension + ";base64," + fileBase64;
    console.log('linha 774', this.imgUrl)
    this.imagePath = this._sanitizer.bypassSecurityTrustResourceUrl(this.imgUrl);
    console.log('linha 776', this.imagePath)

    return this.imagePath;
}

Basicamente eu descubro qual é a extensão da imagem e monte a url. Só que se a imagem foi tiff eu preciso converter ela ou para jpg ou para png. Gostaria de uma ajuda sobre isso.

Grato!

1 resposta

Olá Lorran, tudo bem?

Uma forma de converter uma imagem tiff para jpg, é através da biblioteca "imagemagick". Com ela, é possível realizar a conversão de forma simples e rápida.

Para instalar a biblioteca, basta executar o seguinte comando no terminal:

sudo apt-get install imagemagick

Após a instalação, você pode utilizar o seguinte comando para converter a imagem:

convert -density 300 -depth 8 -quality 85 input.tif output.jpg

Onde "input.tif" é o nome do arquivo tiff que você deseja converter e "output.jpg" é o nome do arquivo jpg que será gerado.

Espero ter ajudado e bons estudos!