
이미지로드/저장, 변환 및 변환을 단순화하기위한 델파이 라이브러리. PNG, JPG, JXL, Webp, AVIF, TIFF, GIF 및 BMP를로드/저장할 수 있습니다. 파일, 스트림, HTTP, ImageList, 관련 Windows 아이콘, 실행 파일 아이콘 등 : 회전, 플립, 그레이 스케일 및 기타 많은 변환을 다양한 리소스에서 얻을 수 있습니다. GDI+, Graphics32, OpenCV, Vampyre 및 Libvips 엔진을 사용할 수 있습니다.
Github 에서이 프로젝트를 "별"하십시오! 비용은 비용이 들지만 코드를 참조하는 데 도움이됩니다. 
이 프로젝트가 유용하다고 생각되면 기부를 고려하십시오.
*새로운 : Delphi 12 아테네 지원
*새로운 : Libvips 엔진이 추가되었습니다
*새로운 : 인터페이스 기반
*새로운 : 뱀파이어 LIB 엔진이 추가되었습니다
*새로운 기능 : 새로운 기능이 추가되었습니다
*새로운 : 리팩토리 클래스
*새로운 : Delphinus 지원
사용 가능한 엔진 중 하나 이상을 선택할 수 있습니다. ImageFX가 지원합니다. 사용 절에 하나 이상의 아래 단위를 추가하십시오.
Quick.imagefx.gdi : GDI+ 엔진을 사용합니다. 외부 라이브러리가 필요하지 않지만 느립니다.
필요한 라이브러리 :
Quick.imagefx.gr32 : Graphics32 엔진을 사용하여 회전, 변환, 크기 조정 등을 사용합니다
필요한 라이브러리 :
Quick.imagefx.opencv : OpenCV 엔진. 인텔 오픈 비전 라이브러리에는 중급 파티 델파이 워퍼를 사용합니다. 매우 빠르고 강력합니다. 프로젝트에 OpenCV 외부 DLL이 필요합니다.
필요한 라이브러리 :
Quick.imagefx.vampyre : 뱀파이어 이미징 라이브러리 엔진. 뱀파이어 이미징 네이티브 라이브러리에 중급 파티 델파이 워퍼를 사용합니다. 빠르고 많은 이미지 형식을 지원합니다.
필요한 라이브러리 :
Quick.imagefx.vips : libvips 이미징 라이브러리 엔진. Libvips Library에는 중급 파티 Delphi Warper를 사용합니다. Ultra Fast와 Webp, Avif, JXL 등과 같은 많은 이미지 형식을 지원합니다.
필요한 라이브러리 :
생성 : 이미지를로드/조작하려면 ImageFx 인스턴스를 만듭니다.
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 ;로드/저장 : PNG, JPG, GIF 및 BMP를로드/저장하고 파일, 스트림, HTTP, ImageList, 관련 Windows 아이콘, 실행 파일 아이콘 등과 같은 다른 리소스에서 이미지를 얻을 수 있습니다 ...
// 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);이미지 정보 : 해상도, 이미지의 종횡비를 얻습니다.
ImageFX.GetResolution(x,y)
ImageFX.AspectRatioStr // aspect ratio (4:3,16:9)
ImageFX.IsGray이미지 크기 조정 :
// 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 );크기 사이즈 오프 :
nomagnify : 사실이라면 새로운 크기보다 가장 작은 경우 이미지 크기를 조정하지 않으면.
ResizEmode : 원하는 최종 크기를 계산하도록 알고리즘을 크기로 바꿉니다.
리 샘플 리드 : 적용 할 알고리즘 크기 :
중앙 : 센터 이미지
채우기 : 더 작은 경우 스케일링 이미지의 경계를 대상 사각형으로 채우십시오.
Bordercolor : 채우는 경계의 색상.
변환 : 회전, 플립, 스캔 라인 효과, 밝은 및 기타 변환을 이미지에 적용합니다.
// 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 );형식 변환 : 이미지 형식으로 변환 할 수 있습니다.
ImageFX.LoadFromFile( ' .myfile.jpg ' );
ImageFX.SaveAsPNG( ' .myfile.png ' );거의 모든 기능은 셀프 클래스를 반환하므로 다음과 같은 많은 행동과 효과를 징수 할 수 있습니다.
// 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);델파이를 배우거나 기술을 향상시키고 싶습니까? LEARNDELPHI.org