블로그 이미지
훅크선장

카테고리

분류 전체보기 (362)
사진이야기 (23)
펭귄컴퓨팅 (121)
컴퓨터보안 (84)
절름발이 프로그래머 (59)
하드웨어개조 (23)
멀알려줄까 (35)
홈베이킹&홈쿠킹 (2)
잡다한것들 (15)
Total
Today
Yesterday

달력

« » 2024.5
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

공지사항

태그목록

최근에 올라온 글

델파이에서는 기본적으로 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;

Posted by 훅크선장
, |