스크린캡쳐를 만들고 있습니다. 다른 것은 구현이 다되었는데
이미지를 프린팅하는데에서 문제가 생깁니다.
캡쳐한 이미지를 바로 Print할 수있게 했는데 코드는 다음과 같이 했습니다.
Prints : begin {프린터로 이미지를 출력한다.}
ABitmap := TBitmap.Create;
ABitmap := CaptureScreen; <----이함후는 스크린의 이미지를 캡쳐하는 함수
//프린터에 대해 사각형을 계산한다.
Rect.Top := 10;
Rect.Left := 10;
Rect.Right := 10 + ABitMap.Width;
Rect.Bottom:= 10 + ABitmap.Height;
Printer.BeginDoc; //이미지를 프린터한다.
try
Printer.Canvas.StretchDraw(Rect, ABitmap);
Printer.EndDoc;
except //프린터 예외상황 처리
Printer.Abort;
raise
end;
end;
문제는 프린터가 되긴는 되는데.... 실제크기에 비해 너무 조금만하게 찍힌다는겁니다.
그리고 이 이미지를 강제로 늘려서 찍으니까. 이미지의 해상도가 너무 떨어집니다.
캡쳐한 비트맵이미지를 메타파일로 컨버트시킬려고 하니까 그것도 만만지 않더군요...
도사님들 왜 이렇게 이미지가 짝게 프린트되는지...해상도는 왜 떨어지는지...
제발 도와주세요....
제 생각으론 제가 쓰고 있는 프린터가 문제가 있는것같기도 하고 ...
메타파일로 비트맵을 변환해보신분... 도움을 부탁 합니다... 급합니다.
|