[firebase-br] (sem assunto)

Mário Reis mariodosreyx em gmail.com
Sexta Junho 24 08:23:22 -03 2022


Meio "off topic" e relativamente ao assunto de ontem; vai ter de ser
implementado do lado do cliente (m/ caso, delphi);
depois de muito procurar finalmente apareceu alguma informação; links que,
se me permitem, gostaria de partilhar:
https://stackoverflow.com/questions/4001719/getting-jpeg-resolution-without-decoding-the-image
 (lá mais em baixo da página)

The original site from J. Nommsi has disappeared, but the package is still
available, e.g. from: http://pascal.sources.ru/graph/pasjpg11.htm      (convirá
guardar off line... que já que, devido à guerra, não sabemos como isto
acabará...)
Com os meus melhores cumprimentos
Mário Agostinho Reis
919262146

Esta mensagem contém informação de natureza confidencial e é
exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
receber este email agradecemos que não o copie nem o reenvie e que nos
notifique do ocorrido através do email de resposta.


Mário Reis <mariodosreyx em gmail.com> escreveu no dia quinta, 23/06/2022 à(s)
20:30:

> Olá Obrigado pela resposta. Eu penso que o autor se enganou no exemplo.
> Pegando no Ztree-win fui ver e realmente o JPG é  FFD8FF em hexa mas já o
> BMP 42 4D 0E /BM (BMv etc..)
> mas  vai depender de se mais antigo ou mais recente, 42 4D 36 /BM6 também
> o PNG o GIF etc: a lista a seguir é que vai mandar *https://en.wikipedia.org/wiki/List_of_file_signatures
> <https://en.wikipedia.org/wiki/List_of_file_signatures>*
> Eu não posso confiar nos Users! A apanho com tudo, até casos de
> renomearem um BMP e um GIF como JPG.
> Ora como não uso o TDBImage (o do Lazarus é um pouco melhor, que do
> delphi), mas enfermam ambos do mesmo vício!!!
> Há anos que o EDBIMAGE, Freeware do Sebastián Mayorá - Argentina -
> DelphiHelper em yahoo.com.ar e vários outros autores, que agora a
> Embacadero açambarcou-o (só o baixa quem for registered user! Enfim! )
> Parece muito bem  feito mas que aceita/suporta um nunca mais acabar de
> tipos de imagem diferentes; não há bela sem senão!
> Só que em aplicações concorrentes me causa problemas porque supostamente
> só lá deveriam estar JPG autênticos.
> *Voltando ao que realmente importa*!
> E, a única forma de garantir que não terei falsos JPG, não será pela
> extensão, eu já estou a filtrar a extensão, ajuda, mas como já se viu, só
> pela assinatura no header do ficheiro, vou garantir que não terei um BMP
> renomeado de JPG a assinatura lá dentro será sempre BMP e vice-versa.
> Ainda não percebi, exactamente, como vou fazer isso sem danificar nada;
> pois o falsos JPG que lá estão todos para identificar e salvar como JPG.
> Na net até agora não encontrei nada a ler o header de uma imagem por isso
> está mais dificil !
> Se alguém tiver alguma ideia agradeço. Obrigado
>
>
> Com os meus melhores cumprimentos
> Mário Agostinho Reis
> 919262146
>
> Esta mensagem contém informação de natureza confidencial e é
> exclusivamente dirigida ao(s) destinatário(s) indicado(s). Se, por engano,
> receber este email agradecemos que não o copie nem o reenvie e que nos
> notifique do ocorrido através do email de resposta.
>
>
> Carlos H. Cantu via lista <lista em firebase.com.br> escreveu no dia quinta,
> 23/06/2022 à(s) 18:06:
>
>> O código que vc postou (do Oracle) tenta identificar o tipo de imagem
>> olhando
>> alguns bytes no header do arquivo da imagem armazenada. Eu acho que esse
>> código
>> está furado, visto que o substr está pegando 1 byte e a comparação é com 3
>> bytes! Provavelmente o correto seria substr(product_image,1,3)...
>>
>> Mesmo que funcione, esse código só identificaria JPG, não funcionando para
>> outros formatos de imagem. Sugiro que siga a ideia do Helio e armazene a
>> extensão.
>>
>> PS: Coloque assunto nos emails enviados para a lista.
>>
>> []s
>> Carlos H. Cantu
>> eBook Guia de Migração para o FB 4 - www.firebase.com.br/guiafb4.php
>> www.FireBase.com.br - www.firebirdnews.org - blog.firebase.com.br
>>
>> MRvl> Prezados companheiros,
>> MRvl> Estou um tanto aflito tenho um campo blob com imagens do mais
>> variado tipo
>> MRvl> BMP, JPEG, PNG etcc E, claro que assim não é facil quero
>> uniformizar tudo
>> MRvl> como JPG
>> MRvl> No oracle faz-se assim :
>> MRvl>
>> https://community.oracle.com/tech/developers/discussion/4195958/check-what-type-of-image-a-blob-is
>>
>> MRvl> Here is a basic example:
>>
>> MRvl> Extract the first 3 bytes from the BLOB and compare it with
>> 'FFD8FF'.
>> MRvl> According to the list of signatures in the link that Mike posted,
>> this is
>> MRvl> then a JPG:
>>
>> MRvl> select case when dbms_lob.substr(product_image,3,1) =
>> MRvl> hextoraw('FFD8FF') then 'JPG' end as image_type from demo_prod
>>
>> MRvl> No firebird não sei se tenho chance. Não encontrei nada semelhante
>> MRvl> Alguém pode ajudar?
>> MRvl> Obrigado
>> MRvl> Com os meus melhores cumprimentos
>> MRvl> Mário Agostinho Reis
>> MRvl> 919262146
>>
>>
>> ______________________________________________
>> FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br
>> Para saber como gerenciar/excluir seu cadastro na lista, use:
>> http://www.firebase.com.br/fb/artigo.php?id=1107
>> Para consultar mensagens antigas:
>> http://www.firebase.com.br/pesquisa_lista.html
>>
>


Mais detalhes sobre a lista de discussão lista