- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SDL – 2Video 静宜大学信息工程系 蔡奇伟副教授 ? 2007 纲要 绘图系统 设定显示模式 绘图页 BLIT Colorkey Alpha 值 Clipping 显示到荧幕 SDL_image 函式库 图形显示 Pixel Resolution CRT Retrace (回归讯号) Direct Color (直接色) Indirect Color (间接色) Screen Mode 设定显示模式 Surface (绘图页) 何谓绘图页 SDL_Surface 结构 SDL_PixelFormat 结构 SDL_GetRGB() 与 SDL_MapRGB() Pitch 直接存取绘图页的像素资料 建立绘图页 释放绘图页 转换绘图页的像素格式 何谓绘图页? 绘图页 (Surface) 是一个抽象结构,用来描述一块储存图片的存储器区域,其中包含图片的宽度、高度、像素格式、储存位址、……、等等相关信息。 SDL 把 frame buffer 视为一种特殊的绘图页,称之为荧幕绘图页 (Display Surface)。其他的绘图页称为幕后绘图页 (Off-screen Surface)。某些绘图页的旗标仅能用于设定荧幕绘图页。 SDL 用 SDL_Surface 结构来定义绘图页。 SDL_Surface 结构 SDL_PixelFormat 结构 SDL_GetRGB() SDL_MapRGB() Pitch 直接存取绘图页的像素资料 直接读写一个绘图页的像素,必须先将该绘图页锁住。 全部读写完成之后,再将该绘图页解锁。 int SDL_LockSurface (SDL_Surface *surface); void SDL_UnlockSurface (SDL_Surface *surface); 程序码的架构如下:if (SDL_LockSurface(MySurface) == 0){ // 直接读写 MySurface 的像素 SDL_UnlockSurface(MySurface);} 建立空白绘图页 把像素阵列转成绘图页 读写 BMP 档 释放绘图页 转换绘图页的像素格式 BLIT Block Transfer 的缩写 把绘图页中的一块矩形像素值复制到另一绘图页指定的位置。 SDL_BlitSurface() Pixel Blending (像素混合) Blit 时,来源像素和对应的目标像素有以下三种混合结果: 不透明 (opaque):来源像素取代目标像素。 透明 (transparent):结果为目标像素。 半透明:来源像素以 Alpha 值为透明度和目标像素 混合。 混合的方式由来源绘图页的 Alpha 与 colorkey 的设定来决定,如下一页的表格所示。 Colorkey 称为颜色键或透明色 应用在整个绘图页上。 启用绘图页透明色功能的两个方法: 呼叫 SDL_CreateRGBSurface() 建立空白绘图页时,旗标需加入 SDL_SRCCOLORKEY。 呼叫 SDL_SetColorKey() 来设定透明色的值。 SDL_SetColorKey() 也可以用来关闭绘图页的透明色功能。 设定或取消 colorkey Alpha 值 绘图页的 alpha 值用来设定整个绘图页的透明度。 图片中的像素 alpha 值定义个别像素的透明度。 BMP 图档不支援 alpha,PNG 图档则有。 alpha 值 0 (SDL_ALPHA_TRANSPARENT) 表示完全透明, alpha 值 255 (SDL_ALPHA_OPAUUE) 表示完全遮盖。 启用绘图页透明度功能的两个方法: 呼叫 SDL_CreateRGBSurface() 建立空白绘图页时,旗标需加入 SDL_SRCALPHA。 呼叫 SDL_SetAlpha() 来设定整个绘图页的 alpha 值。 SDL_SetAlpha() 也可以用来关闭绘图页的透明度功能。 设定或清除绘图页的 alpha 值 Clipping BLIT 时,来源像素只能传送到目标绘图页的剪裁矩形 (clipping rectangle) 范围之内。 绘图页的剪裁矩形预设为绘图页的大小,即 x = 0, y = 0, w = width, h = height 函式 SDL_SetClipRect() 可以用来修改绘图页的剪裁矩形。 设定绘图页的剪裁矩形 显示到荧幕 撕裂效果。 Double Buffering Copy Flip SDL 相关函式: SDL_Flip() SDL_UpdateRect() SDL_UpdateRects() Tearing(撕裂) Double Buffering SDL 的
您可能关注的文档
最近下载
- 水稳层施工劳务合同.doc VIP
- 2025年事业单位工勤技能-广东-广东殡葬服务工三级(高级工)历年参考题典型考点含答案解析.docx
- 综合布线系统方案(技术).doc VIP
- Romax软件培训教程RC1_基础概念设计.pdf VIP
- 2025年1月辽宁省普通高中学业水平合格性考试数学试卷(含答案).pdf VIP
- 施工类企业质量手册、程序文件.doc VIP
- 贵州大学《电磁学》2024 - 2025 学年第一学期期末试卷.pdf VIP
- 2025年安庆辅警招聘考试真题必考题.docx VIP
- 2025年新改版人教版七年级上册地理全册知识点期末复习资料.pdf
- 实变函数与泛函分析基础(第四版)程其襄课后习题答案详解.pdf
原创力文档


文档评论(0)