Ik probeer een TImage uit te printen.
Omdat het figuur veel te klein wordt uitgeprint heb ik geprobeerd met StretchDIBits het figuur te vergroten. Maar dat had als resultaat dat het figuur een erg lage resolutie had.
Ook heb ik geprobeerd om het figuur zelf veel groter te maken, maar met als resultaat dat een bestand van ruim 20 MB naar de printer werd gestuurd.
(Image.height en Image.width aangepast)
Is hier een oplossing voor?
Omdat het figuur veel te klein wordt uitgeprint heb ik geprobeerd met StretchDIBits het figuur te vergroten. Maar dat had als resultaat dat het figuur een erg lage resolutie had.
code:
(hier wordt het image 6x uitgerekt)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
| with Printer do
begin
BeginDoc;
Bits := PrintImage.Picture.Bitmap.Handle;
GetDIBSizes(Bits, InfoSize, ImageSize);
Info := AllocMem(InfoSize);
try
Image := AllocMem(ImageSize);
try
GetDIB(Bits, 0, Info^, Image^);
with Info^.bmiHeader do
begin
DIBWidth := biWidth;
DIBHeight := biHeight;
end;
StretchDIBits(Canvas.Handle, 150, 150, DIBWidth*6, DIBHeight*6, 0, 0,
DIBWidth, DIBHeight, Image, Info^, DIB_RGB_COLORS, SRCCOPY);
finally
FreeMem(Image, ImageSize);
end;
finally
FreeMem(Info, InfoSize);
end;
Printer.EndDoc;
end; |
Ook heb ik geprobeerd om het figuur zelf veel groter te maken, maar met als resultaat dat een bestand van ruim 20 MB naar de printer werd gestuurd.
(Image.height en Image.width aangepast)
Is hier een oplossing voor?
[ Voor 52% gewijzigd door michiel100 op 16-02-2004 09:50 ]