Q&A

  • 이미지 다루기.
Quick report에 QRimage를 넣는 부분인데요 제가 초보라서요 소스가 이해가 잘안가는 관계로 설명 좀 부탁드려요..

알아듣기 쉽게요..



procedure TF_BW143R.DetailBand1BeforePrint(Sender: TQRCustomBand;

var PrintBand: Boolean);

var

ImageName1: string;

BW_bmp : TBitmap;

jpg : TJPEGImage;

begin

ImageName1 := BongWooRoot + '자재' + Q_BW143R.FieldByName('자재코드').Asstring

+ Q_BW143R.FieldByName('창고코드').Asstring + '.jpg';

if FileExists(ImageName1) then

begin

jpg := TJpegImage.Create;

jpg.LoadFromFile(ImageName1);



BW_bmp := TBitmap.Create;

BW_bmp.Assign(jpg);



QRImage1.Picture.Bitmap.Assign(BW_bmp);



jpg.Free;

BW_bmp.Free;

end

else

begin

QRImage1.Picture := nil;

QRImage1.Height := 0;



end;



1  COMMENTS
  • Profile
    유도삼 2000.03.21 03:22
    주석을 붙입니다.

    도움이 되었으면 하네요.



    진 wrote:

    > Quick report에 QRimage를 넣는 부분인데요 제가 초보라서요 소스가 이해가 잘안가는 관계로 설명 좀 부탁드려요..

    > 알아듣기 쉽게요..

    >

    > procedure TF_BW143R.DetailBand1BeforePrint(Sender: TQRCustomBand;

    > var PrintBand: Boolean);

    > var

    > ImageName1: string; //이미지가 저장된 디렉토리와 파일명을 저장하는 변수

    > BW_bmp : TBitmap; //비트맵 객체

    > jpg : TJPEGImage; //Jpeg 객체

    > begin

    //변수에 디렉토리와 파일명을 저장한다. 아마도

    //BongWooRoot는 드라이브명이 저장되어 있을 것이고

    //자재는 이미지가 저장된 디렉토리를 지칭할 겁니다. 마지막으로

    //Q_BW143R은 쿼리의 이름이 될 겁니다. 이 쿼리에서

    //자재코드+창고코드라는 필드를 읽어오는 거죠.

    //어찌됐든 ImageName1이라는 변수에 그림파일의 위치를 저장하는 과정입니다.

    > ImageName1 := BongWooRoot + '자재' + Q_BW143R.FieldByName('자재코드').Asstring

    > + Q_BW143R.FieldByName('창고코드').Asstring + '.jpg';

    > if FileExists(ImageName1) then //이미지 파일이 존재한다면

    > begin

    > jpg := TJpegImage.Create; //Jpeg객체 생성

    > jpg.LoadFromFile(ImageName1); //Jpeg객체에 이미지를 불러옴

    >

    > BW_bmp := TBitmap.Create; //비트맵 객체 생성

    > BW_bmp.Assign(jpg); //비트맵 객체에 Jpeg객체를 할당

    >

    > QRImage1.Picture.Bitmap.Assign(BW_bmp); //QRImage에 비트맵 객체를 할당

    >

    > jpg.Free; //Jpeg객체 소멸

    > BW_bmp.Free; //비트맵 객체 소멸

    > end

    > else //이미지 파일이 존재하지 않는다면 아래 라인을 처리

    > begin

    > QRImage1.Picture := nil;

    > QRImage1.Height := 0;

    >

    > end;

    >