Ver Mensaje Individual
  #14  
Antiguo 22-05-2007
Wellnic Wellnic is offline
Miembro
 
Registrado: mar 2007
Posts: 68
Reputación: 18
Wellnic Va por buen camino
Para saber desde el principio si un fichero es una imagen (tenga la extensión que tenga) lo mejor es abrirlo en modo binario y comprobar si tiene determinada característica propia de ese archivo. Por ejemplo, los jpg siempre tienen la cadena JFIF en la 7ª posición:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var fc: File;
    tf: String;

begin
tf:= StringOfChar(#32, 4);//hace sitio para almacenar 4 caracteres
AssignFile(fc, 'C:\Imagen.jpg');
FileMode:= fmOpenRead; // abrir como solo lectura... por si acaso
Reset(fc, 1);
Seek(fc, 6); //situar el puntero en la 7ª posición
BlockRead(fc, tf[1], 4); //lee esos 4 bytes en la variable tf
CloseFile(fc);
If tf='JFIF' Then ShowMessage('Es una imagen JPG');
end;
Cada formato de imagen tiene sus características, que se pueden averiguar con cualquier editor hexadecimal.
Responder Con Cita