본문 바로가기
Delphi, RadStudio

[개발/delphi] 델파이에서 그래픽 파일(JPG, GIF, PNG) 다루기

by SB리치퍼슨 2014. 10. 30.

델파이에서 그래픽 파일(JPG, GIF, PNG) 다루기



델파이에서는 기본적으로 TImage 라는 컴포넌트로 이미지를 다루는데,

이것은 그냥 BMP 파일을 다루는 것 같습니다.


델파이 2007에서는 JPG와 GIF 형식을 바로 보여줄 수 있습니다.

델파이 2009에서는 PNG 형식을 추가로 바로 보여줄 수 있게 되었습니다.


PNGImage 라는 오픈소스를 아예 Embarcadero에서 사버렸습니다.

머, GIF쪽은 저자가 직접 기증?한거이지만...


델파이 2009에서 TImage 컴포넌트에 각각의 그래픽 파일을 보여주는 예제는 다음과 같습니다.

각각의 이미지 파일을 처리하기 위해서는 

uses PNGImage, JPEG, GIFImg;


구문을 앞부분에 사용하여야만 합니다.





procedure TForm1.Button1Click(Sender: TObject);

var

  Extension : String;

  PNG : TPNGImage;

  JPG : TJPEGImage;

  GIF : TGIFImage;

begin


  // 저장된 파일의 확장자명을 추출한다.

  Extension := ExtractFileExt(OutputFilePath);

  Extension := LowerCase(Extension);


  // GIF 파일 형식인 경우,

  if Extension = '.gif' then

  begin

    GIF := TGIFImage.Create;

    try

      GIF.LoadFromFile(OutputFilePath);

      Image1.Picture.Assign(GIF);

      Image1.Stretch := True;

      Image1.Visible := True;

    finally

      GIF.Free;

    end;



  end

  // JPG 파일 형식인 경우,

  else if Extension = '.jpg' then

  begin

    JPG := TJPEGImage.Create;

    try

      JPG.LoadFromFile(OutputFilePath);

      Image1.Picture.Assign(JPG);

      Image1.Stretch := True;

      Image1.Visible := True;

    finally

      JPG.Free;

    end;

  end

  // PNG 파일 형식인 경우,

  else if Extension = '.png' then

  begin

    PNG := TPngImage.Create;

    try

      PNG.LoadFromFile(OutputFilePath);

      Image1.Picture.Assign(PNG);

      Image1.Stretch := True;

      Image1.Visible := True;

    finally

      PNG.Free;

    end;

  end;

end;


출처: http://hook.tistory.com/181?srchid=BR1http://hook.tistory.com/181

반응형

댓글