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

서버에서 이미지를 다운 받아 이미지를 합쳐 하나의 이미지로 만들어 blob data로 저장하는 프로그램입니다.

Draw문을 사용시 이미지가 잘나오나 A4 사이지로 되지않아 StretchDraw문을 사용했으나 이미지가 깨져 글자 식별이 어렵습니다. 

알려주시면 감사하겠습니다.~~

 

 

procedure HSComImgReport.SaveSignImage(pFilePath, pPatno, pMeddate,
  pDocno: String; iFromPage, iToPage: Integer);

const
   A4HEIGHT = 1123;
   A4WIDTH  = 794;

var

   Bmp : TBitmap;
   Jpeg      : TJPEGImage;
   lBitmap   : TBitmap;
   lsFileName : String;
begin

 

   Bmp := TBitmap.Create;

   Jpeg := TJPEGImage.Create;

   try

      iHeight := 0;
 

      for ix:=iFromPage-1 to iToPage-1 do begin

         lImage := TImage.Create(nil);
         lImage.Stretch := True;

         try

            lBitmap    := TBitmap.Create;

            lBitmap.Assign(PageInfo[ix].Bmp);

 

            BMP.Width  := A4WIDTH;
            BMP.Height := iHeight + A4HEIGHT;

 

            // BMP.Canvas.Draw(0, iHeight, lBitmap);  // 이미지가

            BMP.Canvas.StretchDraw( Rect(0,iHeight,bmp.Width,bmp.Height), lBitmap );

 

            iHeight :=  iHeight + A4HEIGHT;

         finally
            lBitmap.Free;
         end;

 

      Jpeg.Assign(BMP);
      Jpeg.CompressionQuality := 100;
      Jpeg.Compress;

      // 파일생성 위치 + 파일명 생성(환자번호+신청일자+서식번호)
      lsFileName := pFILEPATH + pPatNo + '_' + pMeddate + '_' + pDocno + '.JPEG';
      Jpeg.SaveToFile(lsFileName);
      Jpeg.Free;

   finally
      Bmp.Free;

   end;