当前位置:  开发笔记 > 编程语言 > 正文

在没有剪裁的情况下缩放SDL曲面的正确方法?

如何解决《在没有剪裁的情况下缩放SDL曲面的正确方法?》经验,为你挑选了2个好方法。

缩放SDL曲面的正确方法是什么?我在网上找到了一个解释,但它需要逐像素地重新绘制Surface.看起来应该有一些方法可以通过SDL本地执行此操作,而不是像这样重绘图像.我无法在SDL文档中找到任何涉及此内容的内容.通过修改曲面宽度和高度,我可以毫无问题地调整曲面大小,但会剪切生成的曲面.



1> Firas Assaad..:

SDL不支持缩放blitting.根据SDL_BlitSurface的文档:

注意:SDL阻击器(尚未)具有向上或向下缩放blitted表面的能力,就像其他更复杂的blitting机制一样.如果你想缩放图像,你必须为自己找出一些东西(例如使用SDL_gfx).

你可以在这里找到SDL_gfx .编写自己的blitting函数并不是那么糟糕,它可能是一个有趣且有用的学习实验(尽管你将重新发明轮子).使用OpenGL也是一种选择,因为缩放和旋转之类的东西可以在单个函数调用中完成.



2> Justin Steph..:

我知道这个答案为时已晚,无法帮助提出该问题的人,但是我决定写这篇文章,以帮助那些偶然发现此问题的人。在SDL 2.0中,可以使用该SDL_BlitScaled()功能将曲面缩放为目标SDL_Rect。LazyFoo有一个教程对此进行了描述,或查看此文档。

推荐阅读
地之南_816
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有