我看到许多杂散像素附着到使用SDL2绘制的对象上。多余像素添加到的对象是线条,实心矩形和TTF文本变成纹理。 SDL_RenderFillRect()函数采用两个参数:SDL_Renderer*
和SDL_Rect*
,用于指定显示矩形的位置。我使用该函数绘制矩形。我看不出我怎么可能做错了什么。每当有一个杂散像素时,总是将一个像素附加到对象上。例如,我的矩形将如下所示:
XXXXXXXXXXX
XXXXXXXXXXX
XXXXXXXXXXXX <----stray pixel on the right-bottom
以上像素与实际图像的像素数不同,比例也不相同,但是是相同的想法。还有一个附加的像素。
我会得到一些类似的内容。像这样(由3行组成):
X <--- stray pixel
XXXXXXXXXXXXXXXXX
X X
X X
对于文本,我会得到以下信息:
XXXXXXXXX
X
X
X
X <--- stray pixel
杂散像素始终显示在同一位置。对于文本,它们始终在那里。对于线条和盒子,它们有时只是在那里。
知道为什么会这样吗?会导致这种情况的原因是什么?