青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

 

在講解之前,我得介紹一下setviewport()函數(shù)的用途.
它功能就設(shè)置視區(qū).視區(qū)分兩種:一,不可視視區(qū),使用方法setviewport(left,top,right,bottom,1);
       二,可視視區(qū),使用方法setviewport(left,top,right,bottom,0).
這兩種視區(qū)有沒有什么區(qū)別.
不可視區(qū): 當(dāng)作圖超出了視區(qū)圖形被剪切,
如下一段程序:
...
setviewport(50,50,100,100,1);
setfillstyle(1,4);
bar(20,20,300,300);/*這里的(20,20)是相對于(50,50)為(0,0).
也就是說(50,50)為視區(qū)的原點(diǎn),所以(20,20)
相當(dāng)于setviewport(0,0,getmaxx(),getmaxy(),1)下的點(diǎn)(70,70)*/
setviewport(0,0,getmaxx(),getmaxy(),1);/*恢復(fù)視區(qū)為全屏*/
...
從運(yùn)行結(jié)果,可以看出超出視區(qū)的所有作圖都會被剪切.

可視視區(qū):當(dāng)作圖超出了視區(qū)圖形不會被剪切
如下一段程序:
...
setviewport(50,50,100,100,0);
setfillstyle(1,4);
bar(20,20,300,300);
setviewport(0,0,getmaxx(),getmaxy(),1);/*恢復(fù)視區(qū)為全屏*/
...
從運(yùn)行結(jié)果,可以看出超出視區(qū)的所有作圖沒有被剪切.

大家從視區(qū)的概念也隱約地感覺到視區(qū)帶來的風(fēng)險(xiǎn).
雖然視區(qū)有風(fēng)險(xiǎn),但它的功能所帶的誘惑力是不可阻擋的.換句話說,有一些功能模塊不用視區(qū),
就無法實(shí)現(xiàn)或?qū)崿F(xiàn)起來非常困難.
但是我需要怎樣來規(guī)避風(fēng)險(xiǎn)呢.有人可能會提出這樣的方法:每使用一次視區(qū)結(jié)束后,都要還原視區(qū).
setviewport(left,top,right,bottom,1);
...
setviewport(0,0,getmaxx(),getmaxy(),1);
這樣做,看上去挺有道理的,沒有什么問題.

大家可以看一下下面的一個程序:
#i nclude<conio.h>
#i nclude<graphics.h>
void DrawFrame(int,int,int,int);/*畫一個框架*/
int main(void)
{
  int gdriver=VGA,gmode=VGAHI;
  initgraph(&gdriver,&gmode,"");/*圖形方式驅(qū)動*/
  cleardevice();/*清屏*/
  setfillstyle(1,15);/*用白色填充全屏*/
  bar(0,0,getmaxx(),getmaxy());

  setviewport(150,150,500,400,1);

  DrawFrame(50,50,300,150);/*相對(150,150)為原點(diǎn)的(50,50)的位置畫一個框架*/
  setcolor(15);
  moveto(53,54);/*相對(150,150)為原點(diǎn)的(53,54)畫一些字符*/
  settextstyle(2,0,5);
  outtext("ForeGroundColor");
 
  setviewport(0,0,getmaxx(),getmaxy(),1);
  getch();
  closegraph();
  return 0;
}
void DrawFrame(int left,int top,int right,int bottom)/*畫一個框架*/
{
  int i;

  setviewport(left,top,right,bottom,1);/*設(shè)置框架視區(qū)*/

  setfillstyle(1,7);
  bar(0,0,right-left,bottom-top);/*相對視區(qū)畫填充區(qū)域*/
  /*相對視區(qū)畫線*/ 
  setcolor(15);
    line(1,1,right-left,1);
    line(1,1,1,bottom-top);
  setcolor(8);
    line(1,bottom-1-top,right-left,bottom-1-top);
    line(right-1-left,1,right-1-left,bottom-top);
  setcolor(0);
    line(0,bottom-top,right-left,bottom-top);
    line(right-left,0,right-left,bottom-top);    
  setfillstyle(1,1);
    bar(3,2,right-3-left,top+17-top);/*相對視區(qū)畫填充區(qū)域*/

  setviewport(0,0,getmaxx(),getmaxy(),1);/*恢復(fù)全屏為視區(qū)*/
}
大家可運(yùn)行一下,從結(jié)果可以看出框加的輸出位置為(50,50).而原本希望輸出位置在(200,200)
而原本希望在相對(150,150)為原點(diǎn)的(53,54)畫一些字符,卻在全屏的(53,54)位置出字符.
為什么會出現(xiàn)這樣的問題呢.大家可以仔細(xì)分析代碼,可以看出.
出現(xiàn)第一個問題的時侯是因?yàn)镈rawFrame()中重新設(shè)置了setviewport(left,top,right,bottom,1);
而不是以setveiwport(150,150,500,400,1);為視區(qū).
出現(xiàn)第二個問題的時侯是因?yàn)镈rawFrame()最后一行又設(shè)置setviewport(0,0,getmaxx(),getmaxy(),1);
所以,輸出字符不是以setveiwport(150,150,500,400,1);為視區(qū),而是以
setviewport(0,0,getmaxx(),getmaxy(),1);為視區(qū).

總而言之:
在setviewport(left,top,right,bottom,1);
  ...  /*這中間的代碼中不能再出現(xiàn)改變視區(qū)的語句.否則,可能會出現(xiàn)意料之外的情況.*/
  setviewport(0,0,getamxx(),getmaxy(),1);


只有注冊用戶登錄后才能發(fā)表評論。
網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


posts - 10, comments - 10, trackbacks - 0, articles - 4

Copyright © IanZhu

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            美日韩精品免费| 久久久福利视频| 亚洲电影在线| 亚洲女优在线| 99视频一区二区三区| 久久久久国产精品一区二区| 亚洲欧美成人| 欧美日韩国产综合新一区| 欧美成人免费网站| 狠狠爱综合网| 欧美亚洲视频一区二区| 亚洲欧美清纯在线制服| 欧美日韩午夜在线视频| 91久久精品国产91久久| 亚洲激情av在线| 久久亚洲春色中文字幕久久久| 欧美一区二区三区播放老司机| 欧美日韩国产成人| 亚洲精品乱码久久久久| 亚洲激情成人| 欧美aaa级| 91久久久久久国产精品| 亚洲精品视频啊美女在线直播| 久久久青草青青国产亚洲免观| 久久天堂国产精品| 在线观看亚洲视频| 久久一区中文字幕| 欧美成人一二三| ●精品国产综合乱码久久久久| 久久久亚洲一区| 欧美成人国产va精品日本一级| 一区二区亚洲精品国产| 久久综合九九| 亚洲二区在线视频| 一区二区三区国产在线| 欧美日韩性生活视频| 中日韩视频在线观看| 欧美在线观看视频一区二区三区| 国产精品网站在线播放| 亚洲欧美一区二区三区久久| 久久久久久久999精品视频| 国模一区二区三区| 蜜臀久久99精品久久久画质超高清| 欧美成人免费一级人片100| 亚洲精品国产欧美| 国产精品第一区| 欧美在线观看日本一区| 欧美激情自拍| 亚洲午夜精品久久久久久浪潮 | 欧美日韩精品伦理作品在线免费观看 | 女生裸体视频一区二区三区| 伊人久久久大香线蕉综合直播| 欧美不卡激情三级在线观看| 日韩一二在线观看| 欧美专区中文字幕| 亚洲福利av| 欧美视频中文在线看| 性欧美videos另类喷潮| 欧美成人激情视频| 午夜精品短视频| 亚洲电影在线| 国产精品久久国产精品99gif| 欧美一区二区三区视频在线观看 | 久久se精品一区精品二区| 一区二区在线不卡| 欧美日韩三区四区| 久久永久免费| 亚洲一级在线| 欧美激情在线观看| 欧美一区二区三区久久精品| 亚洲韩国青草视频| 国产日韩精品一区观看| 欧美久久久久久久久| 欧美亚洲三级| 99在线热播精品免费99热| 牛牛影视久久网| 欧美亚洲综合久久| 一本色道久久综合亚洲91| 国产自产v一区二区三区c| 欧美无砖砖区免费| 欧美精品videossex性护士| 性伦欧美刺激片在线观看| 亚洲精品资源美女情侣酒店| 久久综合导航| 欧美中日韩免费视频| 中文一区二区在线观看| 亚洲黄色毛片| 亚洲二区视频| 黑人巨大精品欧美黑白配亚洲 | 国产午夜精品一区二区三区视频| 欧美国产日本韩| 久久久久.com| 久久精品国产一区二区电影| 亚洲免费在线视频一区 二区| 亚洲清纯自拍| 欧美黄色aa电影| 蜜臀久久久99精品久久久久久| 新片速递亚洲合集欧美合集| 亚洲天堂av在线免费| 日韩小视频在线观看专区| 亚洲国产欧美在线人成| 有码中文亚洲精品| 激情视频一区二区三区| 黄色亚洲精品| 一色屋精品视频在线观看网站| 国产欧美午夜| 国产一区清纯| 韩国一区二区三区在线观看 | 精品成人一区二区三区四区| 国产一区久久| 激情综合自拍| 亚洲国产精品一区二区第四页av| 激情综合激情| 91久久精品国产| 一本色道久久综合| 亚洲一区二区精品视频| 午夜精品视频网站| 久久国产精品一区二区三区四区 | 欧美大片免费观看在线观看网站推荐| 麻豆av一区二区三区| 欧美粗暴jizz性欧美20| 欧美人与性动交cc0o| 欧美性大战xxxxx久久久| 国产精品男女猛烈高潮激情 | 一区二区三区精密机械公司 | 篠田优中文在线播放第一区| 羞羞视频在线观看欧美| 久久精品水蜜桃av综合天堂| 乱中年女人伦av一区二区| 欧美极品在线观看| 国产精品久久久久久久久久免费 | 亚洲中无吗在线| 久久激情久久| 欧美成人自拍视频| 欧美亚洲成人精品| 国产亚洲欧美另类一区二区三区| 韩国三级电影一区二区| 亚洲精品影院| 午夜在线精品| 亚洲高清av在线| 亚洲视频免费在线| 久久性天堂网| 欧美体内she精视频在线观看| 国产视频久久| 亚洲最新色图| 久久久中精品2020中文| 亚洲精品1234| 欧美自拍偷拍| 欧美日韩国产综合视频在线观看 | 欧美视频一区二区三区| 国产午夜精品理论片a级大结局 | 在线看国产日韩| 亚洲天堂网站在线观看视频| 久久夜色撩人精品| 中文国产一区| 欧美黑人多人双交| 国产午夜亚洲精品不卡| 在线亚洲观看| 欧美福利精品| 欧美综合国产| 国产精品高潮呻吟视频| 亚洲人成在线观看一区二区| 欧美一区午夜精品| 亚洲美女中文字幕| 免费视频一区二区三区在线观看| 国产伦精品一区二区三区| 亚洲裸体在线观看| 欧美成人免费在线观看| 亚洲欧美第一页| 欧美日韩免费| 亚洲美女在线观看| 麻豆精品精品国产自在97香蕉| 亚洲视频在线免费观看| 欧美黑人国产人伦爽爽爽| 黄色在线一区| 久久久免费精品| 午夜在线成人av| 国产精品久久中文| 亚洲伊人色欲综合网| 亚洲精品日韩一| 欧美搞黄网站| 日韩视频国产视频| 亚洲国产精品成人久久综合一区| 久久精品国产清自在天天线| 国产毛片精品国产一区二区三区| 亚洲视频一区| 亚洲精品永久免费| 欧美日韩国产小视频在线观看| 亚洲国产欧美一区二区三区同亚洲| 久久亚洲一区| 久久视频在线视频| 1000精品久久久久久久久| 久久蜜桃精品| 久久夜色精品一区| 亚洲激情六月丁香| 亚洲精品国精品久久99热一| 欧美激情综合| 亚洲欧美日韩精品在线| 午夜精品久久久久| 国内久久精品|