
Biblioteca Delphi para simplificar a carga/salvar, conversão e transformação da imagem. Pode carregar/salvar PNG, JPG, JXL, Webp, AVIF, TIFF, GIF e BMP. Pode obter imagem de diferentes recursos: arquivo, stream, http, listrista de images, ícone do Windows associado, ícone de arquivo executável, etc ... gire, flip, escala de cinza e muitas outras transformações. Os mecanismos GDI+, Graphics32, OpenCV, Vampyre e LibVips disponíveis.
Por favor, "estrela" este projeto no Github! Custa nada além de ajuda a fazer referência ao código. 
Se você achar esse projeto útil, considere fazer uma doação.
*Novo: Delphi 12 Atenas Apoio
*Novo: LibVips Engine adicionado
*NOVO: Baseado na interface
*NOVO: Vampyre Lib Engine Adicionado
*Novo: novas funções adicionadas
*Novo: Classes Refactoriais
*NOVO: Delphinus Support
Você pode selecionar um ou mais dos suportes do ImageFX dos motores disponíveis. Adicione uma ou mais das unidades abaixo à sua cláusula de uso:
Quick.imagefx.gdi: usa o mecanismo GDI+. Não precisa de bibliotecas externas, mas é lento.
Bibliotecas necessárias:
Quick.imagefx.gr32: usa o mecanismo gráfico32 para girar, transformar, redimensionar, etc.
Bibliotecas necessárias:
Quick.imagefx.opencv: mecanismo OpenCV. Usa um Word Delphi Warper para a Intel Open Vision Library. É muito rápido e poderoso. Precisa de DLLs externos OpenCV no seu projeto de projeto.
Bibliotecas necessárias:
Quick.imagefx.vampyre: mecanismo de biblioteca de imagens Vampyre. Usa um Wrid Party Delphi Warper para a Biblioteca Nativa de Imagens de Vampyre. Rápido e suporta muitos formatos de imagem.
Bibliotecas necessárias:
Quick.Imagefx.VIPS: LibVips Imaging Library Engine. Usa uma Biblioteca de Warper da Party Delphi para a LibVips. Ultra Fast e suporta muitos formatos de imagem como Webp, AVIF, JXL, etc.
Bibliotecas necessárias:
Criar: Crie instância do ImageFX para carregar/manipular imagens.
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 ;Carregar/Salvar: pode carregar/salvar PNG, JPG, GIF e BMP e obter imagem de diferentes recursos como arquivo, stream, http, imagelist, ícone Windows associado, ícone de arquivo executável, 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);Informações da imagem: Obtenha resolução, proporção de uma imagem.
ImageFX.GetResolution(x,y)
ImageFX.AspectRatioStr // aspect ratio (4:3,16:9)
ImageFX.IsGrayREDIMENTO DE IMAGEM:
// 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 );RESIDIMENTO OPRIMENTO:
NOMAGNIFY: Se True não redimensionar a imagem se menor do que o tamanho novo especialmente.
RESIZEMODE: REDIMEIRA ALGORITMOS PARA ACULAR o tamanho final desejado:
REMAMPLERMODE: REDIMIDE ALGORITMOS A APENDAR:
Centro: Centers Image
Fillborders: Encha as fronteiras de uma imagem em escala no retângulo de destino, se menor.
BorderColor: cor das fronteiras de enchimento.
Transformações: aplique rotações, vias, efeitos da linha de varredura, transformações brilhantes e outras em suas imagens.
// 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 );Conversões de formato: pode converter entre os formatos de imagem.
ImageFX.LoadFromFile( ' .myfile.jpg ' );
ImageFX.SaveAsPNG( ' .myfile.png ' );Quase todas as funções retornam a auto -classe, para que você possa encadear muitas ações e efeitos 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);Você quer aprender Delphi ou melhorar suas habilidades? LearnDelphi.org