
Biblioteca de Delphi para simplificar la carga de imagen/guardar, conversión y transformación. Puede cargar/guardar PNG, JPG, JXL, WebP, AVIF, TIFF, GIF y BMP. Puede obtener una imagen de diferentes recursos: archivo, transmisión, http, imageList, icono de Windows asociado, icono de archivo ejecutable, etc. rotar, voltear, escala de grises y muchas otras transformaciones. Los motores GDI+, Graphics32, OpenCV, Vampyre y Libvips disponibles.
¡Por favor "establezca" este proyecto en Github! No cuesta nada pero ayuda a hacer referencia al código. 
Si encuentra útil este proyecto, considere hacer una donación.
*Nuevo: Delphi 12 Atenas Apoyo
*Nuevo: motor libvips agregado
*Nuevo: basado en la interfaz
*Nuevo: el motor Vampyre lib agregado
*Nuevo: nuevas funciones agregadas
*Nuevo: clases refactorias
*Nuevo: Soporte de Delphinus
Puede seleccionar uno o más de los soportes de ImageFX de motores disponibles. Agregue una o más unidades a continuación a su cláusula de usos:
Quick.imagefx.gdi: usa el motor GDI+. No necesita bibliotecas externas, pero es lento.
Bibliotecas necesarias:
Quick.Imagefx.Gr32: Utiliza el motor Graphics32 para girar, transformar, cambiar el tamaño, etc.
Bibliotecas necesarias:
Quick.ImAgefx.opencv: motor OpenCV. Utiliza una fiesta Thrid Delphi Warper para Intel Open Vision Library. Es muy rápido y poderoso. Necesita OpenCV Dll externos en su proyecto Dir.
Bibliotecas necesarias:
Quick.Imagefx.Vampyre: Vampyre Imaging Library Engine. Utiliza una fiesta de thrid Delphi Warper para Vampyre Imaging Native Library. Rápido y admite muchos formatos de imagen.
Bibliotecas necesarias:
Quick.Imagefx.vips: Libvips Imaging Library Engine. Utiliza una fiesta Thrid Delphi Warper para la Biblioteca Libvips. Ultra rápido y admite muchos formatos de imagen como WebP, AVIF, JXL, etc.
Bibliotecas necesarias:
Crear: Crear instancia de ImageFX para cargar/manipular imágenes.
var
ImageFX : IImageFX;
begin
ImageFX := TImageFXGDI // You can create as TImageFXGDI, TImageFXGR32, TImageFXOpenCV or TImageFXVampyre to use different graphic engines
ImageFX.LoadFromFile( ' .test.jpg ' );
ImageFX.Rotate90;
ImageFX.SaveAsPNG( ' .Test.png ' );
end ;Cargar/Guardar: puede cargar/guardar PNG, JPG, GIF y BMP y obtener una imagen de diferentes recursos como File, Stream, HTTP, ImageList, Associated Windows icono, icono de archivo ejecutable, etc.
// Load image from files like jpg, gif, png and bmp
ImageFX.LoadFromFile( ' .file.jpg ' );
// Load/Save image from/to a memorystream, filestream, etc...
ImageFX.LoadFromStream(MyStream);
ImageFX.SaveToStream(MyStream,ifJPG);
// Load image from an icon class
ImageFX.LoadFromIcon(MyIcon);
// Load image from an icon file
ImageFX.LoadFromFileIcon( ' .file.ico ' );
// Get image associated in windows with this type of extension
ImageFX.LoadFromFileExtension( ' .file.xls ' ,True);
// Load from exe resource
ImageFX.LoadFromResource( ' Main.ico ' );
// Get image from a http link
ImageFX.LoadFromHTTP( ' http://www.mysite.com/file.jpg ' ,ReturnHTTPCode,True);
// Load/Save from string
ImageFX.LoadFromString(MyImageString);
ImageFX.SaveToString(MyImageString);Información de la imagen: Obtener resolución, relación de aspecto de una imagen.
ImageFX.GetResolution(x,y)
ImageFX.AspectRatioStr // aspect ratio (4:3,16:9)
ImageFX.IsGrayCambiar el tamaño de la imagen:
// Resize image to fit max bounds of 500x300 and fills rest of target size with a border black color
ImageFX.ResizeOptions.BorderColor := clBlack;
ImageFX.Resize( 500 , 300 , rmFitToBounds, [rfCenter], rmLinear);
// Same image resize alternative/advanced mode
ImageFX.ResizeOptions.ResamplerMode := rmLinear;
ImageFX.ResizeOptions.ResizeMode := rmFitToBounds;
ImageFX.ResizeOptions.Center := True;
ImageFX.ResizeOptions.FillBorders := True;
ImageFX.ResizeOptions.BorderColor := clBlack;
ImageFX.Resize( 500 , 300 );RESEDEOPTIONS:
Nomagnify: si es verdadero no cambiar la imagen de tamaño si es más pequeño que el nuevo tamaño especificado.
ResizEmode: algoritmos de cambio de tamaño para calcular el tamaño final deseado:
RESPRESHERMODE: algoritmos de cambio de tamaño que se aplicarán:
Centro: imagen de los centros
FillBorders: llene los bordes de una imagen escalada en el rectángulo de destino si es más pequeño.
Bordercolor: color de llenado de bordes.
Transformaciones: aplique rotaciones, flips, efectos de escaneo, brillantes y otras transformaciones a sus imágenes.
// Rotate image 90 degrees
ImageFX.Rotate90;
// Rotate image 45 degrees
ImageFX.RotateAngle( 45 );
// Convert to grayscale
ImageFX.GrayScale;
// Flip image horizontally
ImageFX.FlipX;
// Increase bright by 50%
ImageFX.Lighten( 50 );
// Change color of a pixel
PixInfo.R := Random( 255 ); // R
PixInfo.G := Random( 255 ); // G
PixInfo.B := Random( 120 ); // B
PixInfo.A := 200 ; // Alpha
imageFX.Pixel[x,y] := PixInfo;
// Draw an overlay image over current image with 50% transparency
ImageFX.DrawCentered(pngimage, 0.5 );Conversiones de formato: puede convertir entre formatos de imagen.
ImageFX.LoadFromFile( ' .myfile.jpg ' );
ImageFX.SaveAsPNG( ' .myfile.png ' );Casi todas las funciones devuelven la autodespectiva, por lo que puede encadenar muchas acciones y efectos como este:
// Rotate 90 degrees and flip horizontally, convert to grayscale and save to a png file.
ImageFX.Rotate90.FlipX.GrayScale.SaveToPNG( ' .myfile.png ' );
// Load from file, rotate180, resize to 100x100 and assign to a TImage.
MyImage.Picture.Asssign(ImageFX.LoadFromFile( ' .myfile.jpg ' ).Rotate180.Resize( 100 , 100 ).AsBitmap);¿Quieres aprender Delphi o mejorar tus habilidades? Learndelphi.org