Ver Mensaje Individual
  #7  
Antiguo 03-12-2007
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Reputación: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Acabo de comprobar que la librería soporta el formato TIFF y puede rotar imágenes en este formato directamente. Si descargas la librería verás que en la carpeta "demos" viene un programa de nombre "VampConvert.exe". Puedes usar el programa de esta forma:

Código:
VampConvert.exe -infile=C:\apple.tif -outfile=C:\appler.tif -rotate=90
El programa es una demostración de la librería en cuestión, quiere decirse, que lo que el programa hace puede hacerlo la librería.

Podrías utilizar un código similar a este, y, ojo que lo he adaptado "al vuelo" y sin probarlo del programa en que yo lo estoy usando, lo mismo se me escapa algo, pero, básicamente, esto es:

Código Delphi [-]
uses
  Imaging, ImagingTypes, ImagingUtility;

{...}

function RotarImagen(imagenEntrada, imagenSalida, angulo: string): boolean;
var
  img: TImageData;
  aAngulo: integer;
begin
  result := false;
  InitImage(img);
  try
    aAngulo := StrToIntDef(angulo, 0);
    if not Imaging.LoadImageFromFile(imagenEntrada,img) then
      raise Exception.Create(ImagingUtility.GetExceptObject.Message);
    if (aAngulo mod 90) = 0 then
      result := Imaging.RotateImage(img,aAngulo)
    else
      raise Exception.Create(rsErrorImgAnguloIncorrecto);
    if not Imaging.SaveImageToFile(imagenSalida,img) then
      raise Exception.Create(ImagingUtility.GetExceptObject.Message);
  finally
    FreeImage(img);
  end;
end;

Como verás, el formato de la imagen de entrada y el formato de la imagen de salida se deducen de su extensión. En el programa que menciono, tengo algún procedimiento que se encarga de comprobar que, efectivamente, tanto el formato de la imagen de entrada, como el de la imagen de salida, están soportados por la librería Imaging.
__________________
David Esperalta
www.decsoftutils.com

Última edición por dec fecha: 03-12-2007 a las 20:14:57.
Responder Con Cita