两个吃奶一个添下面视频_人妻第一页香蕉网_欧美xxxx少妇_妺妺窝人体色www婷婷

這個(gè)事要從90年代講起...

最早,我們電視上看到的動(dòng)畫片,其實(shí)就是很多張不同動(dòng)作的圖連貫起來(lái)的效果(請(qǐng)大家仔細(xì)體會(huì)這個(gè)道理),由于每張圖片都有漸進(jìn)的不同,在連貫的這個(gè)時(shí)差一旦小于人眼能識(shí)別的頻率,我們就分辨不出這是不同張圖片了

圖片動(dòng)畫片原理


而代碼實(shí)現(xiàn)也是這個(gè)原理,即準(zhǔn)備多張不同時(shí)期的分解動(dòng)作,我們用程序控制時(shí)間差、連貫執(zhí)行起來(lái)即可。



那么接著前面我們學(xué)習(xí)的loadimage和putimage,我們可以這樣準(zhǔn)備

首先loadimage函數(shù)可以使用另外一種形式即不指定圖片大小

loadimage(&img,".//123.jpg");  /

其次,再使用putimage時(shí)我們不再使用之前講的那么簡(jiǎn)單的參數(shù)版本,而是使用更多參數(shù)的一個(gè)版本:

void loadimage(
    IMAGE* pDstImg,        // 保存圖像的 IMAGE 對(duì)象指針
    LPCTSTR pResType,        // 資源類型
    LPCTSTR pResName,        // 資源名稱
    int nWidth = 0,        // 圖片的拉伸寬度
    int nHeight = 0,        // 圖片的拉伸高度
    bool bResize = false    // 是否調(diào)整 IMAGE 的大小以適應(yīng)圖片
);

我們注意看這其中的參數(shù),

void putimage(
	int dstX,				// 繪制位置的 x 坐標(biāo)
	int dstY,				// 繪制位置的 y 坐標(biāo)
	int dstWidth,			// 繪制的寬度
	int dstHeight,			// 繪制的高度
	IMAGE *pSrcImg,			// 要繪制的 IMAGE 對(duì)象指針
	int srcX,				// 繪制內(nèi)容在 IMAGE 對(duì)象中的左上角 x 坐標(biāo)
	int srcY,				// 繪制內(nèi)容在 IMAGE 對(duì)象中的左上角 y 坐標(biāo)
	DWORD dwRop = SRCCOPY	// 三元光柵操作碼
);

大家注意參數(shù),前兩個(gè)參數(shù)很好理解,是圖片的輸出起始坐標(biāo),第二個(gè)參數(shù)表示的是繪制的高度和寬度,即圖片大小。

第五個(gè)參數(shù)是image對(duì)象,這個(gè)沒問(wèn)題。第六和第七個(gè)參數(shù)有意思了,他倆表示的是image圖像中的左上角位置,那么加上前面第三第四參數(shù)的作用,我們就可以做到選擇性的輸出圖片中的部分內(nèi)容!!最后一個(gè)參數(shù)不用管,空著也可以(有默認(rèn)參數(shù))

我們先給大家提供一張?zhí)珮O拳分解圖,大家自行下載命名為123然后放到自己的項(xiàng)目路徑下。

分解矢量圖

那么我們可以嘗試如下代碼:

//www.sztianhecheng.cn
#include <graphics.h>        // 引用圖形庫(kù)頭文件
#include <conio.h>
int main()
{
	int i;
	IMAGE img;
    initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素
	loadimage(&img,".//123.jpg");  //加載項(xiàng)目中的圖片  
	putimage(0,0,160,210,&img,0,0);
	getch();            // 按任意鍵繼續(xù)
    closegraph();           // 關(guān)閉繪圖窗口
    return 0;
}

大家可以運(yùn)行發(fā)現(xiàn),會(huì)把整個(gè)圖片的第一個(gè)分解動(dòng)作顯示出來(lái)

加載第一個(gè)分解動(dòng)作


至于為什么是160*210的大小,這里也是大約計(jì)算出來(lái)的,因?yàn)檫@張的圖片的整體大小是可知的,兩行八個(gè)子圖,我們計(jì)算平均值即可。

那么我們?nèi)绻腼@示全部圖片形成動(dòng)畫效果,我們要做的就是每次顯示不同位置的子圖!通過(guò)調(diào)整putimage的參數(shù)即可!

大家可以看我的參考代碼:

//www.sztianhecheng.cn
#include <graphics.h>        // 引用圖形庫(kù)頭文件
#include <conio.h>
int main()
{
	int i;
	IMAGE img;
        initgraph(640, 480);   // 創(chuàng)建繪圖窗口,大小為 640x480 像素
	loadimage(&img,".//123.jpg");  //加載項(xiàng)目中圖片  
	while(1)
	{
		for(i=0;i<4;i++)
		{
			putimage(0,0,160,210,&img,i*160,0);	
			Sleep(300);
		}
		for(i=0;i<4;i++)
		{
			putimage(0,0,160,210,&img,i*160,210);
			Sleep(300);
		}
	}
	getch();            // 按任意鍵繼續(xù)
    closegraph();           // 關(guān)閉繪圖窗口
    return 0;
}


因?yàn)橄雽?shí)現(xiàn)不停運(yùn)動(dòng),故外層寫了一個(gè)死循環(huán),內(nèi)層兩個(gè)for循環(huán)分別播放上面四個(gè)圖和下面四個(gè)圖,方便大家理解。

怎么樣,大家看明白了嗎?

大家可以使用其他分解適量圖,比如人物的運(yùn)動(dòng)、游戲中各種效果,都是這個(gè)原理,只要我們有原來(lái)的圖片都可以讓它動(dòng)起來(lái)!

點(diǎn)贊(0)

C語(yǔ)言網(wǎng)提供由在職研發(fā)工程師或ACM藍(lán)橋杯競(jìng)賽優(yōu)秀選手錄制的視頻教程,并配有習(xí)題和答疑,點(diǎn)擊了解:

一點(diǎn)編程也不會(huì)寫的:零基礎(chǔ)C語(yǔ)言學(xué)練課程

解決困擾你多年的C語(yǔ)言疑難雜癥特性的C語(yǔ)言進(jìn)階課程

從零到寫出一個(gè)爬蟲的Python編程課程

只會(huì)語(yǔ)法寫不出代碼?手把手帶你寫100個(gè)編程真題的編程百練課程

信息學(xué)奧賽或C++選手的 必學(xué)C++課程

藍(lán)橋杯ACM、信息學(xué)奧賽的必學(xué)課程:算法競(jìng)賽課入門課程

手把手講解近五年真題的藍(lán)橋杯輔導(dǎo)課程

Dotcpp在線編譯      (登錄可減少運(yùn)行等待時(shí)間)