国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

當(dāng)前位置:雨林木風(fēng)下載站 > 技術(shù)開發(fā)教程 > 詳細(xì)頁面

C++ Builder 中的圖像顯示技巧

C++ Builder 中的圖像顯示技巧

更新時(shí)間:2022-05-09 文章作者:未知 信息來源:網(wǎng)絡(luò) 閱讀次數(shù):

文/黃建志

  在C++ Builder中,實(shí)現(xiàn)一幅圖像的顯示非常簡單,只要在Form窗體中定義一個(gè)TImage組件,設(shè)置其Picture屬性,然后選擇任何有效的.ico、.bmp、.emf或.wwf文件,加載進(jìn)來,所選文件就顯示在TImage組件中。但這只是直接將圖形顯示在窗體中,毫無技巧可言,給人感覺是一種枯燥乏味。為了使圖形顯示有別具一格的效果。按下列步驟實(shí)現(xiàn):

  1、 定義一個(gè)TImage組件,把要顯示的圖形先加載到TImage組件中,也就是說,把圖  
形內(nèi)容從磁盤載入內(nèi)存中,作為圖形緩存。

  2、 創(chuàng)建一新的位圖對象,其尺寸跟TImage組件中的圖形一樣。

  3、 利用畫布(Canvas)的CopyRect功能(將一個(gè)畫布的矩形區(qū)域拷貝到另一個(gè)畫布的矩形區(qū)域),以達(dá)到動(dòng)態(tài)顯示位圖。

  下面介紹各種圖形顯示技巧的具體實(shí)現(xiàn)方法。

  上拉效果


圖1

  實(shí)現(xiàn)原理:首先將暫存圖形的第一條水平線,搬移至要顯示位圖的最后一條,接著再將暫存圖形的前兩條水平線,依次搬移至要顯示位圖的最后兩條水平線,然后搬移前三條、前四條直到全部圖形數(shù)據(jù)搬完為止。在搬移的過程中即可看到顯示的位圖由下而上浮起,而達(dá)到上拉的效果(如圖1)。

  程序算法:

  void _fastcall TFor-

  m1::Button1Click(TObject *Sender)

   {int i,width,height;

  Graphics::TBitmap *newbmp;

  newbmp=new Graphics::TBitmap;

  newbmp-〉Width=Image1-〉Width;

  newbmp-〉Height=Image1-〉Height;

  width=Image1-〉Width;

  height=Image1-〉Height;

  for(i=0;i

  {newbmp-〉Canvas-〉CopyRect(Rect(0,height-i,width,height),

  Image1-〉Canvas,Rect(0,0,width,i));

  Form1-〉Canvas-〉Draw(10,10,newbmp);}

  delete newbmp;}

  從左向右平鋪顯示效果


圖2

  實(shí)現(xiàn)原理:首先將暫存圖形的最后一條豎線,搬移至要顯示位圖的第一條豎線,接著再將暫存圖形的最后兩條豎線,依序搬移至要顯示位圖的前兩條豎線,然后搬移最后三條、四條豎線直到全部圖形數(shù)據(jù)搬完為止。在搬移的過程中即可看到顯示的位圖由左向右浮起,而達(dá)到從左向右平鋪顯示的效果(如圖2)。

  程序算法:

  void _fastcall TForm1::Button2Click(TObject *Sender)

  {int i,width,height;

  Graphics::TBitmap *newbmp;

  newbmp=new Graphics::TBitmap;

  newbmp-〉Width=Image1-〉Width;

  newbmp-〉Height=Image1-〉Height;

  width=Image1-〉Width;

  height=Image1-〉Height;

  for(i=0;i<=width;i++)

  { newbmp-〉Canvas-〉

  CopyRect(Rect(0,0,i,height),

  Image1-〉Canvas,Rect(width-i,0,width,height));

  Form1-〉Canvas-〉Draw(10,10,newbmp); }

  delete newbmp;}

  垂直交錯(cuò)效果


圖3

  實(shí)現(xiàn)原理:將要顯示的圖形拆成兩部分,奇數(shù)條掃描線由上往下搬移,偶數(shù)條掃描線則由下往上搬移,而且兩者同時(shí)進(jìn)行。便可看到分別由上下兩端出現(xiàn)的較淡圖形向屏幕中央移動(dòng),直到完全清楚為止(如圖3)。

  程序算法:

  void __fastcall TForm1::BitBtn3Click(TObject *Sender)

  {Graphics::TBitmap *newbmp;

  int i,j,height,width;

  newbmp=new Graphics::TBitmap;

  newbmp-〉Width=Image1-〉Width;

  newbmp-〉Height=Image1-〉Height;

  height=Image1-〉Height;

  width=Image1-〉Width;

  i=0;

  while(i<=height)

  {for(j=0;j

  {newbmp-〉Canvas-〉CopyRect(Rect(j*2,0,j*2+1,i),Image1-〉Canvas,

  Rect(j*2,0,j*2+1,i));

  newbmp-〉Canvas-〉CopyRect(Rect(j*2+1,height,j*2+2,height-i),

  Image1-〉Canvas, Rect(j*2+1,height,j*2+2,height-i)); }

  Form1-〉Canvas-〉Draw(10,10,newbmp);

  i+=2; }

  delete newbmp;}

  水平交錯(cuò)效果


圖4

  實(shí)現(xiàn)原理:同垂直交錯(cuò)效果原理一樣,將要顯示的圖形拆成兩部分,奇數(shù)條掃描線由左往右搬移,偶數(shù)條掃描線則由右往左搬移,兩者同時(shí)進(jìn)行。從屏幕上便可看到分別由左右兩端出現(xiàn)的較淡圖形向屏幕中央移動(dòng),直到完全清楚為止(如圖4)。

  程序算法:

  void __fastcall TForm1::BitBtn4Click(TObject *Sender)

  {int i,j,height,width;

  Graphics::TBitmap *newbmp;

  newbmp=new Graphics::TBitmap;

  newbmp-〉Width=Image1-〉Width;

  newbmp-〉Height=Image1-〉Height;

  height=Image1-〉Height;

  width=Image1-〉Width;

  i=0;

  while(i<=height)

  {for(j=0;j

  {newbmp-〉Canvas-〉CopyRect(Rect(0,j*10,i,j*10+5),Image1-〉Canvas,

  Rect(0,j*10,i,j*10+5));

  newbmp-〉Canvas-〉CopyRect(Rect(width-i,j*10+5,width,j*10+10),

  Image1-〉Canvas, Rect(width-i,j*10+5,width,j*10+10)); }

  Form1-〉Canvas-〉Draw(10,10,newbmp);

  i+=2; }

  delete newbmp;}

  從左到右圓筒滾動(dòng)效果


圖5

  實(shí)現(xiàn)原理:圖形復(fù)制過程中,把目標(biāo)圖形的坐標(biāo)按照曲線方式移動(dòng),以達(dá)到圓筒滾動(dòng)效果(如圖5)。

  程序算法:

  void __fastcall TForm1::BitBtn5Click(TObject *Sender)

  {int i,j,height,width;

  Graphics::TBitmap *newbmp;

  newbmp=new Graphics::TBitmap;

  newbmp-〉Width=Image1-〉Width;

  newbmp-〉Height=Image1-〉Height;

  height=Image1-〉Height;

  width=Image1-〉Width;

  i=0;

  int intr=50;

  for(i=0;i<=width;i+=5)

  {for(j=1;j<=2*intr;j++)

  {newbmp-〉Canvas-〉CopyRect(Rect(i+j,-sqrt(2*intr*j-j*j),i+j+1,-sqrt(2*intr*j-j*j)+height),Image1-〉Canvas,Rect(i+j,0,i+j+1,height));}

  newbmp-〉Canvas-〉CopyRect(Rect(i,0,i+5,height),Image1-〉Canvas,Rect(i,0,i+5,height));

  Form1-〉Canvas-〉Draw(10,10,newbmp);

  Sleep(10); }}

  所有程序算法都在C++ Builder 4.0和5.0調(diào)試通過。 

溫馨提示:喜歡本站的話,請收藏一下本站!

本類教程下載

系統(tǒng)下載排行

国产午夜成人免费看片无遮挡_日本免费xxxx色视频_免费人成网上在线观看_黄网址在线永久免费观看

  • <label id="pxtpz"><meter id="pxtpz"></meter></label>
      1. <span id="pxtpz"><optgroup id="pxtpz"></optgroup></span>

        成人免费毛片app| 亚洲国产一区二区在线播放| 欧美激情一区二区三区在线| 久久精品二区亚洲w码| 欧美老人xxxx18| 亚洲成av人片一区二区梦乃| 欧美老年两性高潮| 国内精品免费**视频| 欧美国产精品v| 欧美伊人精品成人久久综合97| 亚洲成a人在线观看| 欧美成人a视频| 99精品欧美一区二区蜜桃免费 | 美女国产一区二区| 久久精品视频在线免费观看| 成人h动漫精品| 夜夜精品视频一区二区| 日韩精品一区二区三区视频| www.久久精品| 三级欧美韩日大片在线看| 精品久久久影院| 99精品久久免费看蜜臀剧情介绍| 亚洲成人动漫av| 欧美国产一区视频在线观看| 日本久久一区二区| 国产精品麻豆视频| 国产精品日产欧美久久久久| 成人午夜在线播放| 亚洲国产中文字幕| 国产欧美一区视频| 欧美另类z0zxhd电影| 岛国精品在线观看| 蜜臀av性久久久久蜜臀aⅴ| 亚洲三级在线免费| 欧美精品一区二区高清在线观看| 91麻豆自制传媒国产之光| 精品一区二区三区香蕉蜜桃| 亚洲一区自拍偷拍| 中文字幕一区二区三区不卡在线| 欧美一激情一区二区三区| 日本道免费精品一区二区三区| 国产福利一区在线观看| 日韩电影在线免费观看| 一区二区在线免费| 亚洲桃色在线一区| 国产目拍亚洲精品99久久精品| 日韩精品一区二区三区老鸭窝| 一本到高清视频免费精品| 国产91精品一区二区| 国产麻豆一精品一av一免费| 日本欧美肥老太交大片| 亚洲成av人影院| 中文字幕一区二| 国产精品午夜在线| 国产区在线观看成人精品| 日韩精品一区二区三区在线观看| 欧美精品日韩综合在线| 欧美日韩免费观看一区二区三区| 91丨porny丨国产| 色综合久久综合中文综合网| 99re热视频精品| 99re亚洲国产精品| 91丨九色丨蝌蚪丨老版| 91在线视频观看| 91麻豆自制传媒国产之光| 91小宝寻花一区二区三区| 91偷拍与自偷拍精品| 色八戒一区二区三区| 在线免费一区三区| 欧美日韩精品欧美日韩精品| 在线播放视频一区| 亚洲精品一线二线三线| 欧美国产一区二区在线观看| 国产亚洲短视频| 成人免费在线播放视频| 亚洲精品欧美专区| 日韩av成人高清| 久久国产人妖系列| 成人福利电影精品一区二区在线观看 | 国产精品资源在线| 91影院在线免费观看| 欧美日本乱大交xxxxx| 欧美一卡在线观看| 国产色产综合色产在线视频| 国产精品色呦呦| 亚洲国产日韩a在线播放| 伦理电影国产精品| 99精品热视频| 日韩精品中文字幕在线不卡尤物| 欧美国产综合色视频| 亚洲一区二区欧美激情| 久久国产欧美日韩精品| 成人av网站免费| 欧美片网站yy| 久久精品视频免费观看| 亚洲国产精品精华液网站| 国产精品伊人色| 欧美二区三区的天堂| 亚洲欧洲一区二区在线播放| 麻豆精品视频在线| 在线中文字幕一区二区| 久久久精品中文字幕麻豆发布| 一区二区三区免费网站| 国产a久久麻豆| 日韩一区二区三区观看| 亚洲黄色av一区| 成人免费黄色在线| 欧美不卡一二三| 图片区小说区区亚洲影院| 成人国产免费视频| 精品免费日韩av| 日韩av午夜在线观看| 日本伦理一区二区| 自拍偷在线精品自拍偷无码专区 | 毛片不卡一区二区| 日本精品视频一区二区三区| 国产人成亚洲第一网站在线播放| 天天综合色天天综合| 91在线视频网址| 中文av一区二区| 国产成人精品一区二| 精品捆绑美女sm三区| 日韩av电影一区| 91精品国产综合久久精品app| 亚洲精品国产精品乱码不99| 国产成人精品免费看| 久久青草欧美一区二区三区| 日产欧产美韩系列久久99| 欧美精品视频www在线观看| 亚洲午夜激情网站| 欧美日韩免费在线视频| 亚洲va韩国va欧美va| 欧美放荡的少妇| 麻豆高清免费国产一区| 精品欧美久久久| 国产久卡久卡久卡久卡视频精品| 欧美精品一区二区三区高清aⅴ| 精品一区二区免费看| 久久精品视频一区| 成人sese在线| 亚洲一区二区av电影| 欧美精品一卡二卡| 蜜臀久久久99精品久久久久久| 欧美一三区三区四区免费在线看| 日本不卡的三区四区五区| 日韩欧美一区二区三区在线| 精品一区二区三区免费毛片爱| 久久久精品中文字幕麻豆发布| 国产成人高清在线| 亚洲另类在线视频| 正在播放一区二区| 国产精品91一区二区| 亚洲区小说区图片区qvod| 欧美日韩国产中文| 九九在线精品视频| 亚洲男女一区二区三区| 欧美一区二区三区免费观看视频 | 亚洲在线视频一区| 欧美精品丝袜中出| 国产福利91精品一区二区三区| 1024成人网| 91精品国产高清一区二区三区 | 欧美一a一片一级一片| 六月婷婷色综合| 国产精品国产三级国产aⅴ原创 | 日韩视频免费观看高清在线视频| 精品中文字幕一区二区| 一区二区中文字幕在线| 欧美高清www午色夜在线视频| 国产乱人伦偷精品视频免下载| 一区二区欧美国产| 久久精品欧美一区二区三区不卡| 91成人在线精品| 丁香婷婷综合五月| 日韩成人午夜电影| 中文字幕一区二区三区不卡在线| 欧美一区二区在线免费播放| 91在线播放网址| 国产一区二区三区免费播放| 亚洲影院久久精品| 一区在线观看免费| 精品国产一区二区三区四区四| 91官网在线免费观看| 国产最新精品精品你懂的| 一区二区日韩av| 欧美激情一区二区三区四区| 欧美一区二区福利在线| 欧美亚洲愉拍一区二区| 99视频一区二区| 国产不卡视频在线观看| 久久aⅴ国产欧美74aaa| 日韩中文字幕一区二区三区| 亚洲黄色免费网站| 国产精品福利影院| 中文字幕av不卡| 国产日韩精品一区二区三区| 精品国精品国产| 欧美xxxx在线观看| 日韩免费一区二区三区在线播放| 欧美日韩精品高清|