Качала, В. В. Принципы создания пакета прикладных графических программ на языке Турбо-Паскаль (на примере задач геофизики) / под ред. А. А. Намгаладзе. – Апатиты : ПГИ КНЦ РАН, 1993. – 99 с.
тольковыбранныепользователем. Дляэтоговграфической программедолженбытьпредусмотренрежиможиданияответа пользователяонеобходимостисохраненияизображения (либов видеявногозапроса, либозапрограммированногоожиданияна жатияопределеннойклавиши, например"G"). ВграфическоммодулеТурбо-Паскаляимеетсяпроцедура Get Image, котораяпозволяетсохранятьчастьизображенияна экранезвидедвоичногообразавбуфере, откудаегоможно переписатьвкакой-либофайл (пример3.7). Приэтомизобра жениеразбиваетсянадвераЕныечастиисохраняетсявдвух файлах IM1 и !М2. Пример3.7 { Сохранениеизображениявфайле> procedure G2_Get; type Ar - array [1..65521] of byte; var FIM1, FIM2 : file of byte; { файлыдляхранения 1/2 экрана> Р, PI : "Аг; Size.i : longlnt; begin assign (FIM1, 'IMl'); assign (FIM2, ’IM2’); GetViewSettings (ViewPort); SetViewport (0, 0, GetMaxX, GetMaxY, true); rewrite (FIM1); Size ImageSize (0, 0, 319, 349); i Выделениепамятиподпеовую"половинку" > GetMem (Р, Size); Get Image (0, 0 , 319 , 349, P'4); SetActivePage (1); { ПереходвальтернативныйэкранУ SetViewPort (0, 0, GetMaxX, GetMaxY, ClipOn); Rectangle (20, 100, 620, 140); SetColor(6); SetTextJustify (CenterText, CenterText); SetTextStyle(0, HorizDir, 1); OutTextXY (320, 80, ’Идетзаписьизображениявфайл!’); SetTextStyle(0, HorizDir, 2); SetColor(lO); OutTextXY (320, 120, 'Подождите, пожалуйста!’); SetVisualPage Cl); for i l to Size do write (FIM1, P~Ci]); FreeMem (P, Size); close (FIM1); rewrite (FIM2); Size ImageSize (320, 0, 639, 349); СВыделениепамятиподвторую"половинку" > GetMem (Р, Size); Get Image (320 , 0 , 619 , 349, Р'); for i 1 to Size do write (FIM2, Р~Ш); FreeMem (P, Size); 46
Made with FlippingBook
RkJQdWJsaXNoZXIy MTUzNzYz