자유롭게 질의 및 응답을 할 수 있는 게시판입니다. 개발자 여러분의 답변이 큰 도움이 됩니다. 
  • 제품설치/등록 오류 문의: 설치/등록 Q&A 이용 (제품 구매 고객 한정)

본 게시판은 개발자들이 자유롭게 질문과 답변을 공유하는 게시판입니다.
* 따라서 최대한 정중하게 질문을 올려 주세요.
* 질문을 상세히 작성해 주실 수록 좋은 답변이 올라 옵니다.
* 다른 분들도 참고할 수 있도록 결과 댓글 필수(또는 감사 댓글)
(결과 댓글을 달지 않는 경우 다음 질문에 대한 답변이 달리지 않는 불이익이 있을 수 있습니다.)
-----------------------------------------------------------------------------------------------
  첨부한 소스 내용은 대략 다음과 같습니다.

 

uses

  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,

  System.Classes, Vcl.Graphics,

  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.Imaging.jpeg,

  Vcl.Imaging.GIFImg, Vcl.Imaging.pngimage;

 

type

  TForm1 = class(TForm)

    imgBackground: TImage;

    pnl1: TPanel;

    img1: TImage;

    tmrStartup: TTimer;

    procedure FormShow(Sender: TObject);

    procedure FormCreate(Sender: TObject);

    procedure tmrStartupTimer(Sender: TObject);

  private

    { Private declarations }

    procedure TestDraw();

  public

    { Public declarations }

  end;

 

var

  Form1: TForm1;

 

implementation

 

{$R *.dfm}

 

procedure TForm1.FormCreate(Sender: TObject);

begin

  Left := 0;

  Top := 0;

 

  DoubleBuffered := True;

  pnl1.DoubleBuffered := True;

end;

 

procedure TForm1.FormShow(Sender: TObject);

begin

  // TestDraw();

end;

 

procedure TForm1.TestDraw;

begin

  if not Assigned(imgBackground.Picture.Graphic) then

    Exit;

 

  if not Assigned(img1) then

    Exit;

 

  // 이 부분을 주석처리하면 정상적으로 보입니다.

  if not Assigned(imgBackground.Picture.Bitmap) then

  begin

 

  end;

 

  img1.Picture.Bitmap.Assign(imgBackground.Picture.Graphic);

end;

 

procedure TForm1.tmrStartupTimer(Sender: TObject);

begin

  TTimer(Sender).Enabled := False;

 

  TestDraw();

end;

 

  TestDraw 안에서Assigned(imgBackground.Picture.Bitmap) 을 호출하면

  메인 폼의 DoubleBuffered 속성을 True 로 한 상태에서

  디자인 타임에 imgBackground.Picture 속성에 로드한 이미지가

  Bitmap 이미지일 경우엔 이미지가 정상적으로 표시됩니다.

  Gif  이미지일 경우엔 이미지가 표시가 안됩니다.

  JPEG 이미지일 경우엔 이미지가 표시가 안됩니다.

  PNG 이미지일 경우엔 이미지가 표시가 안됩니다.

  TIF 이미지일 경우엔 이미지가 표시가 안됩니다.

 

  단, TestDraw 안에서Assigned(imgBackground.Picture.Bitmap) 을 호출하는 부분을 주석처리한 경우엔

  Bitmap 이외의 이미지를 Load 하더라도 잘 보입니다.

  또한

  TestDraw 안에서Assigned(imgBackground.Picture.Bitmap) 을 호출하는 부분을 주석처리하지 않은 상태에서는

  DoubleBuffered 속성을 False 로 설정하면 Bitmap 이외의 이미지를 Load 하더라도 잘 보입니다.

 

  1. 왜 이럴까요?

  2. 어떻게 하면 DoubleBuffered 속성을 True 로 설정한 상태에서도

  Bitmap 이외의 이미지일 경우 이미지가 정상적으로 보이게 할 수 있을까요?

 

  DoubleBuffered 속성은 FormCreate 에서 설정하였습니다.

  TestImage 들은 ..\TestImages 에 들어있습니다.

번호 제목 글쓴이 날짜 조회 수
공지 [프로그래밍 강의] 2021.6~2021.12 관리자 2015.01.22 15762
공지 유용한 관련 사이트 관리자2 2014.03.20 54577
공지 본 게시판은 개발자 여러분들의 질문과 답변을 공유하는 공간입니다. 관리자 2012.01.10 97974
1873 windows 10 과 windows 7 에서 query 시 속도 차이가 발생합니다.. 델파이뿌셔야함 2020.07.21 269
1872 [질문] 엑셀파일 저장시 pdf화일로 저장 가능할까요? [1] delphi 2020.07.16 898
1871 코딩창에서 여러줄을 한꺼번에 들여쓰기 기능이 있는지 ? [2] file 라빌레나 2020.07.16 3942
» DoubleBuffered 속성을 True 로 설정하고 Picture.Bitmap 를 참조한 상태에서 TImage 에서 Bitmap 이외의 파일을 로드할 경우 이미지가 정상적으로 표시되지 않습니다. [1] file DarkRyu 2020.07.10 510
1869 FastReport관련 질문있습니다. [2] file 루키 2020.07.08 405
1868 TMediaPlayer.Open 중 Invalid floating point operation 에러 발생 [4] Jack 2020.06.29 685
1867 modal이 뒤로 숨는현상 cleo0917 2020.07.03 161
1866 DataSnap 문의입니다. [3] 최민철 2014.10.08 1681
1865 구글플레이에 게시시 32, 64비트 스마트폰 동시에 지원하는 방법은? [1] 화이부동 2020.07.02 69
1864 TMS그리드 설치시 에러 [1] 피스티스 2020.07.02 217
1863 TMediaPlayer.Play 에서 floating point invalid operation 에러 Jack 2020.06.30 158
1862 [세미나: 데이터와 RAD] 공유메모리를 32비트에서 잘사용중인데 64비트에서 문제가 있습니다. [2] 험프리 2020.06.24 403
1861 (자문 자답) JSON 안의 특정 필드 값만 바꾸는 방법은 TJsonPair를 사용하면 간단합니다. (POST, PUT 방식으로 특정 필드만 교체할 때, 특히 유용) [2] WhiteC 2020.06.15 337
1860 코로나19 세미나 관련 DB오류 질문드립니다. file 유정 2020.06.25 116
1859 [세미나: 데이터와 RAD] REST 클라이언트의 DataSetAdapter에서 XML을 다룰 수 있나요? [1] 험프리 2020.06.24 585
1858 10.3.3에서 TChart관련 문의드립니다. [2] ppqao 2020.06.22 409
1857 [세미나: 데이터와 RAD] 데모를 이전 버전으로 돌려보는 것도 가능할까요? 험프리 2020.06.24 106
1856 [세미나: 데이터와 RAD] DataSnap 으로도 REST API 구현이 되는가요? 험프리 2020.06.24 757
1855 10.4 Sydney 코드 인사이트 문제 [1] 불나방 2020.06.15 322
1854 [TRibbon] 텍스트 크기 설정에 따른 TRibbon 장애 문의입니다. file 초보델팡이 2020.06.22 108