我把临沂地图打出来了(我是临沂人)

闲聊 未结
6 725

回帖
  • @4669 厉害,那你会打世界地图么
    2 回复
  • 2025-02-23 10:23
    @啦啦啦 [吃惊] 怎么弄的?
    2 回复
  • 2025-02-23 09:03
    #include <SFML/Graphics.hpp>
    #include <iostream>
    #include <cmath>


    void drawDashedLine(sf::RenderWindow& window, sf::Vector2f start, sf::Vector2f end, sf::Color color, float dashLength = 10.f, float gapLength = 5.f) {
    float dx = end.x - start.x;
    float dy = end.y - start.y;
    float length = std::sqrt(dx * dx + dy * dy);
    float angle = std::atan2(dy, dx);

    int numSegments = static_cast<int>(length / (dashLength + gapLength));
    for (int i = 0; i < numSegments; ++i) {
    sf::Vector2f segmentStart(start.x + (dashLength + gapLength) * i * std::cos(angle),
    start.y + (dashLength + gapLength) * i * std::sin(angle));
    sf::Vector2f segmentEnd(segmentStart.x + dashLength * std::cos(angle),
    segmentStart.y + dashLength * std::sin(angle));
    sf::Vertex line[] = {sf::Vertex(segmentStart, color), sf::Vertex(segmentEnd, color)};
    window.draw(line, 2, sf::Lines);
    }
    }


    void drawText(sf::RenderWindow& window, const std::string& text, sf::Vector2f position, sf::Color color, int fontSize = 12) {
    sf::Font font;
    if (!font.loadFromFile("arial.ttf")) {
    std::cerr << "Failed to load font" << std::endl;
    return;
    }
    sf::Text txt(text, font, fontSize);
    txt.setFillColor(color);
    txt.setPosition(position);
    window.draw(txt);
    }

    int main() {

    sf::RenderWindow window(sf::VideoMode(800, 600), "地图效果展示");

    while (window.isOpen()) {
    sf::Event event;
    while (window.pollEvent(event)) {
    if (event.type == sf::Event::Closed) {
    window.close();
    }
    }


    window.clear(sf::Color::White);


    drawDashedLine(window, sf::Vector2f(50, 50), sf::Vector2f(150, 150), sf::Color::Blue);
    drawDashedLine(window, sf::Vector2f(180, 50), sf::Vector2f(280, 150), sf::Color::Blue);

    drawDashedLine(window, sf::Vector2f(70, 70), sf::Vector2f(170, 170), sf::Color::Red);
    drawDashedLine(window, sf::Vector2f(190, 70), sf::Vector2f(290, 170), sf::Color::Red);


    drawText(window, "沂水县", sf::Vector2f(100, 80), sf::Color::Blue);
    drawText(window, "蒙阴县", sf::Vector2f(70, 100), sf::Color::Blue);


    window.display();
    }

    return 0;
    }
    3 回复
  • 2025-02-22 20:44
    @别胶 而且,如果你够闲的话,可以打一幅中国地图(但很费事,不要轻易尝试)
    1 回复
  • 2025-02-22 20:23
    @别胶 如果你也想做的话,可以:1.从网上搜索你家乡的地图,再用黑板笔在电脑屏幕上描下来2.在Dev c++(推荐)或记事本上按照你描的轮廓输入字符(例如“/”,就像我上面那样),3.完成后记得擦掉屏幕上的墨迹
    4 回复
  • 2025-02-22 20:17
    你是开了吧,太牛了
    5 回复
1 到第 总共 1 页
hr
有账号去 登录 ,无账号 去打字 可自动生成!
还未登录,登录