🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
3 messages
3 total messages Started by MKi Wed, 12 Oct 2016 10:52
Bitmapy i drukarki
#345335
Author: MKi
Date: Wed, 12 Oct 2016 10:52
50 lines
2079 bytes
Witajcie,

pracuję w Delphi 2009. Problem polega na drukowaniu bitmap.
Pierwsze podejście było takie:

var
   im:TImage;
   R:TRect;
begin
   Printer.BeginDoc ;
   ...
   // tu przygotowanie obrazka w im
   // tu obliczenia współrzędnych położenia grafiki R
   Printer.Canvas.StretchDraw(R,im.Picture.Graphic);
   ...
   Printer.EndDoc;
end ;

Mam w pracy dwie drukarki, kolorową Kyocera FS-C5200DN i
czarno-białą Konica-Minolta BizHub 250. Do tego testuję na
drukowaniu do PDF przez CutePDF.

Wynik powyższego programu:
PDF i BizHub - wydruk poprawny
Kyocera - nie ma w ogóle grafiki (są inne elementy typu kreski, teksty)

Zacząłem próbować różnych dziwnych rozwiązań i efekt dało
przepuszczenie grafiki przez TPngImage:

var
   im:TImage;
   pg:TPngImage;
   R:TRect;
begin
   Printer.BeginDoc ;
   ...
   // tu przygotowanie obrazka w im
   pg.Assign(im.Picture.Graphic);
   // tu obliczenia współrzędnych położenia grafiki R
   Printer.Canvas.StretchDraw(R,pg);
   ...
   Printer.EndDoc;
end ;

Taki program drukuje poprawnie na wszystkich trzech drukarkach.

Czy ktoś jest w stanie wyjaśnić mechanizm?

Pozdrowienia,
MKi
Re: Bitmapy i drukarki
#345333
Author: mmm
Date: Wed, 12 Oct 2016 11:55
15 lines
1148 bytes
>
> Czy ktoś jest w stanie wyjaśnić mechanizm?
>
> Pozdrowienia,
> MKi

{metoda 3.}
http://www.swissdelphicenter.ch/en/showcode.php?id=744

I mam jeszcze takiego linka
http://www.efg2.com/Lab/Library/Delphi/Printing/StretchDIBitsDemo.txt

Czyli powinieneś użyc StretchDIBits
M
Re: Bitmapy i drukarki
#345337
Author: MKi
Date: Wed, 12 Oct 2016 12:45
21 lines
1590 bytes
-- Wiadomość oryginalna (wysłana  12.10.2016 13:55) --
>
>>
>> Czy ktoś jest w stanie wyjaśnić mechanizm?
>>
>> Pozdrowienia,
>> MKi
>
> {metoda 3.}
> http://www.swissdelphicenter.ch/en/showcode.php?id=744
>
> I mam jeszcze takiego linka
> http://www.efg2.com/Lab/Library/Delphi/Printing/StretchDIBitsDemo.txt
>
> Czyli powinieneś użyc StretchDIBits
> M

Dziękuję, StretchDIBits pomogło.

Pozdrowienia,
MKi
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads