SDL_BlitSurface

名字

SDL_BlitSurface--這個從來源表面去目的地表面履行一快blit.

概要

使用 
SDL;

功能SDL_BlitSurface src:PSDL_Surface;srcrect:PSDL_Rect;dst:PSDL_Surface;dstrect:PSDL_Rect:整數;

描繪

這個從來源表面去目的地表面履行一快blit.

僅位置在dstrect 使用的((寬度和高度被忽視).

如果或者srcrect或者 dstrect沒有,整個表面((src或者dst )被複製.

最後blit長方形被保留在dstrect 中畢竟剪下的資料被履行((srcrect 不被修改)

blit功能不應該在使一表面不能動上被大聲說出.

blitting運算的結果改變非常取決於不管 SDL_SRCAPLHA是設定與否.為一這個怎樣實現你的結果的explaination請參看SDL_SetAlpha .當下列的代碼應該充滿希望說明時,Colorkeying和第一位的屬性也和表面blitting相互影響.

如果來源表面讓SDL_SRCALPHA被那時設定
開始
如果那時(來源表面有第一位的渠道((也就是說format.AMask<> 0))
blit根據忽視任何彩色的關鍵映像點第一個使用
其他
開始
如果(來源表面讓SDL_SRCCOLORKEY被設定)
blit使用彩色的關鍵和每處理第一位的價值的表面
其他
blit使用每處理第一位的價值的表面
末端;
末端
其他
開始
如果來源表面讓SDL_SRCCOLORKEY被那時設定
blit使用彩色的關鍵
其他
普通不透明的長方形的blit
末端;

回程價值

如果blit是成功,它歸還0 ,除此之外它歸還-1.

如果任一個表面是在顯示內存和blit回程 -2中,顯示內存是失去的,所以它應該隨著插圖和茲就blitted被再裝填:

        (SDL_BlitSurface((形象,imgrect,銀幕,dstrect)=-2)的同時
開始
(SDL_LockSurface((形象))<0的同時
睡(10);
向形象>pixels寫下形象映像點
SDL_UnlockSurface((形象);
末端;
當系統離開你的fullscreen應用鞭打的時候,這個在DirectX 5.0下面發生.直到你再次可以使用顯示內存,使表面不能動將也失敗.

也注意到

SDL_LockSurface ,SDL_FillRect, TSDL_Surface, TSDL_Rect