none
Cortar e Redimensionar um .BMP RRS feed

  • Pergunta

  • Eu tenho uma rotina em c++ na qual eu converto uma pdf para bmp, e depois mando para impressora, até ai tudo bem. O problema é quando uma pagina do pdf só tem uma linha escrita, aí é gerado a imagem da pagina inteira. O que eu queria era cortar essa parte da imagem para nao gastar bobina da impressora. 

    Eu não consigo fazer isso na hora da conversão do PDF para BMP , pois quem faz isso é uma lib a qual não tenho ascesso , só recebo os bytes do BMP convertido nisso faço o parser , para saber quantas imagens foram geradas, pq a lib gera uma imagem por pagina. Aí eu preciso analisar os bytes ver que a imagem tem uma parte toda branca, que no caso é bytes nulo('\0'). Até tinha feito uma rotina para verificar os \0 , mas no meio tem umas sujeiras e não consigo obter o numero exato para setar uma nova altura para imagem tirando apenas a parte que não tem nada.

    Alguem ja fez algo do tipo ??

    quinta-feira, 23 de julho de 2015 19:33

Todas as Respostas

  • Descobri como fazer na tentativa e erro. Vou relatar como fiz bem resumidamente e sem código.

    Como já tinha os bytes da imagem mas com sujeira, eu peguei uma função que tenho para converter um objeto BITMAP para uma matriz em tons de cinza, onde será somente 0 ou 255. Por que nisso não tenho mais sujeira. E nisso fiz o que estava fazendo anteriormente confiro até onde tem imagem para imprimir  ou seja bytes pretos. Não tendo eu pego meu contador de bytes brancos no final da imagem. e faço o seguinte calculo.

    OBS= os bytes brancos que digo é somente os do final da imagem, pois sei que não tem mais nada a ser impresso. 


    Altura da imagem - (total de bytes brancos / largura da imagem); // Não considere o resto da divisão.

    sexta-feira, 24 de julho de 2015 11:45