Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Pascal Форум Информер Страны мира
   ЧАВО - Частые Вопросы и Ответы    >>    grprint
   
 
 PRN. Как вывести изображение на Printer   Yuriy Kuznetsov 08.10.1997

Пример вывода изображения в режиме 640x480 на матричный принтер.


 
 

{> Cut here. FileName= GRPRINT.MSG } - 4INT ----------------------------------------------------- It's interesting - Msg : 32 of 202 Addr Date From : Yuriy Kuznetsov 2:5030/333.14 08.10.97 Subj : Как вывести изображение на Printer ------------------------------------------------------------------------------- Hi Dmitry ! DK> Hyжны исходники для pаботы с пpинтеpом на паскале. DK> Интеpесyет печать в гpафическом pежиме. Деpжи. Это из книжки Вальвачева пpо гpафикy с пpимеpами на Паскале. Для контpоля: на Епсонах (LX-100, LQ-100) pаботает ;) Best breast regards, [Team Таллер ;] Yuriy  Карнеги научил улыбаться, Мерфи дал понять, что это не поможет (c) 1997 --- ГолДЕД 2.50.Beta4+ * Origin: В моей смерти прошу винить Легалайз Марь Иванну... (2:5030/333.14) {> Cut here. FileName= GRPRINT.PAS } { Как вывести изображение на Printer} {Это из книжки Вальвачева пpо гpафикy с пpимеpами на Паскале.} {Для контpоля: на Епсонах (LX-100, LQ-100) pаботает ;) } uses crt,printer,graph; const horisontal=0; vertical=1; esc=#$1b; var d,m:integer; procedure Printing(turn:integer); var n1,n2,i,k,m,j:integer; begin sound(1000); delay(100); sound(500); delay(100); nosound; setviewport(0,0,639,479,false); write(lst,esc,'A',#$07); IF turn=horisontal THEN begin n1:=639 and $00FF; n2:=639 shr 8; for j:=0 to 479 div 8 do begin write(lst,esc,'*',char(1),char(n1),char(n2)); for i:=0 to 639 do begin m:=0; for k:=0 to 7 do begin m:=m shl 1; if getpixel(i,j*8+k)<>0 then inc(m) end; write(lst,char(m)) end; write(lst,#$0d,#$0a) end end ELSE begin n1:=479 and $00FF; n2:=479 shr 8; j:=0; repeat write(lst,esc,'*',char(1),char(n1),char(n2)); for i:=479 downto 0 do begin m:=0; for k:=0 to 7 do begin m:=m shl 1; if getpixel(j+k,i)<>0 then inc(m) end; write(lst,char(m)) end; write(lst,#$0d,#$0a); inc(j,8) until j>= 638 end; write(lst,#$0c); sound(500); delay(100); sound(1000); delay(100); nosound end; begin d:=detect; initgraph(d,m,''); circle(639 div 2, 479 div 2,50); line(200,200,250,270); outtextxy(260,120,'Printing form the TURBO PASCAL'); printing(horisontal); repeat until keypressed; closegraph end.