TWICImage는 Microsoft Windows Imaging Component를 캡슐화 한 클래스로 다양한 이미지 포맷을 조작할 수 있습니다.
사용법은 아래 샘플코드와 같이 TImage 컨트롤에서 파일을 로드하기 전에 TWICImage로 먼저 로드한 후 TImage에 할당하면 다양한 이미지 포맷을 TWICImage가 처리해 줍니다.
(TWICImage는 RAD Studio 2010 부터 지원합니다.)
procedure TForm2.btnImageLoadClick(Sender: TObject);
var
wic: TWICImage;
begin
if OpenDialog1.Execute then
begin
wic := TWICImage.Create;
try
wic.LoadFromFile(OpenDialog1.FileName);
Image1.Picture.Assign(wic);
finally
wic.Free;
end;
end;
end;
procedure TForm2.btnImageSaveClick(Sender: TObject);
var
wic: TWICImage;
filter: string;
filename: string;
begin
wic := TWICImage.Create;
try
wic.Assign(Image1.Picture);
case wic.ImageFormat of
wifBmp:
begin
filter := '비트맵(*.bmp)|*.bmp';
Filename := 'image.bmp';
end;
wifPng:
begin
filter := 'PNG(*.png)|*.png';
Filename := 'image.png';
end;
wifJpeg:
begin
filter := 'JPEG(*.jpg)|*.jpg';
Filename := 'image.jpg';
end;
wifGif:
begin
filter := 'GIF(*.gif)|*.gif';
Filename := 'image.gif';
end;
else
begin
ShowMessage('지원하지 않는 이미지 포맷입니다');
Exit;
end;
end;
SaveDialog1.FileName := filename;
SaveDialog1.Filter := filter;
if SaveDialog1.Execute then
begin
wic.SaveToFile(SaveDialog1.FileName);
end;
finally
wic.Free;
end;
end;
다운로드
WICImageSample.zip