需要绘制虚线段,以及不同长度的“点-划-点”类型的段。sfml 不知道如何绘制线段,更不用说虚线了。所以我用 sf::RectangleShape 和纹理绘制。我将预先在油漆中绘制的图像加载到纹理中。已知矩形的长度由第一个参数调节:setSize(sf::Vector2f(50, 5)); 这就是问题所在:我需要在更改此参数时图片不失真,如果图片不合适,我需要将图片愚蠢地剪掉,或者相反,如果另一张图片是沿着整个长度剪断,依此类推,最终被剪断或不剪断。并且图像被拉伸。你能给点建议吗?
#include <SFML/Graphics.hpp>
using namespace sf;
int main()
{
RenderWindow window(VideoMode(1500, 1000), "SFML Works!");
sf::Texture sTest;
sTest.loadFromFile("pica/line1.png"); //картинку в паинте нарисовал во такую: - - - -
sf::RectangleShape line_with_thickness;
line_with_thickness.setTexture(&sTest);
line_with_thickness.setSize(sf::Vector2f(50, 5));
while (window.isOpen())
{
Event event;
while (window.pollEvent(event))
{
if (event.type == Event::Closed)
window.close();
}
window.clear(Color::White);
window.draw(line_with_thickness);
window.display();
}
return 0;
}
对不起,当然,我没有完全理解你想要什么,但是它
sfml
可以绘制形状,并且虚线是一个矩形。这是一个链接,其中详细描述了如何创建有关 SFML的简单几何形状