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