Estou usando uma ferramenta interna em meu local de trabalho que possui um tamanho mínimo de arquivo de imagem. Infelizmente, tenho um caso de uso em que preciso fazer upload e interagir com arquivos de imagem abaixo desse limite.
Existe alguma maneira de preencher o tamanho de um arquivo de imagem sem realmente alterar o conteúdo da imagem? Estou trabalhando com arquivos jpeg e png na maior parte.
Para JPEG geralmente sim , você pode simplesmente acrescentar zeros no final e isso não afetará a imagem em si. Ambos JFIF e EXIF (os dois formatos de arquivo JPEG) são imunes a isso. Algumas ferramentas pedantes de processamento de imagem podem reclamar de dados extras no final, mas ainda assim poderão trabalhar com a imagem.
Quanto ao PNG, não estou familiarizado com seu funcionamento interno, mas você pode tentar acrescentar zeros e simplesmente ver se funciona. Provavelmente é resistente o suficiente também.
Detalhes re: JPEG para leitores curiosos.
JPEG é um algoritmo de compactação, não um formato de arquivo. Existem dois formatos de arquivo que podem armazenar imagens compactadas em JPEG: JFIF e EXIF (o último conhecido por "tags EXIF" comumente usados por câmeras para armazenar metadados de fotos). Eles são principalmente compatíveis.
Ambos os formatos consistem em um número mágico
FF D8
seguido por qualquer número de blocos binários (chamados de "segmentos"). Cada bloco começa com um marcador de 4 bytes:FF
O cabeçalho do segmento é seguido pelo número apropriado de bytes. Os segmentos subseqüentes são simplesmente acrescentados no final.
JFIF e EXIF compartilham estrutura idêntica e identificadores de tipo de segmento, portanto, são "principalmente" compatíveis. "Principalmente", porque eles têm diferentes requisitos de primeiro segmento. Na prática, a maioria das ferramentas pode lidar com arquivos JFIF/EXIF mistos, porque esses segmentos possuem identificadores de tipo diferentes.
Todos os segmentos começam com um
FF
byte, então acrescentar zeros cria segmentos inválidos. A maioria das ferramentas parece ignorá-los silenciosamente.