代码之家  ›  专栏  ›  技术社区  ›  BCS

C/D线图包

  •  2
  • BCS  · 技术社区  · 15 年前

    我发现自己需要一个线描包。我需要弹出一个窗口,画线和点。文字会很好,但没有它我可以活下去。最重要的是,我需要一些非常简单的东西来跑步。我没有时间和Libs一起闲逛(如果我有时间,我会愿意的,但我已经落后了很多)。

    我更喜欢 D language 解决方案(windows xp,d1.0,phobos),但我可以使用任何具有C链接和源代码的东西。

    我还可以使用进程外的解决方案,如:生成输入文件,调用程序。

    有什么想法吗?

    5 回复  |  直到 15 年前
        1
  •  1
  •   DK.    15 年前

    另一种选择是使用 Cairo . 它有一个非常容易学习的API,非常强大,可以开箱即用地编写PNG、PS、PDF和SVG。它还支持绘制GDI、X和石英窗。

    有一个旧的 D binding for cairo (由一些才华横溢的黑客写的)可能仍然有效。如果没有其他内容,它将演示如何在D中链接和使用cairo。

        2
  •  2
  •   Norman Ramsey    15 年前

    如果你想要一个进程外的解决方案,为了快速启动和运行一些东西,很难打败它。 生成PostScript并启动PostScript查看器 . 这个技巧的最大优点是你生成了一些东西,你不喜欢它的外观,你可以手工编辑它直到它看起来更好。然后返回并编辑生成器。所以你的原型设计周期很快。

        3
  •  2
  •   FeepingCreature    15 年前

    QD .

    它是 制造的 为此。

    只需导入qd,与sdl.lib链接(如果需要文本,则为sdl_tf),然后选择屏幕(宽度、高度)进行设置,第(x1、y1、x2、y2)行进行绘制,第(x1、y1)行进行绘制,第(x1、y1、bottom_right,“文本”)行进行打印。要重置CLS,请翻转以更新屏幕。事件()来处理事件。将r g b(r,g,b)附加到上述任何命令以更改线条颜色,填充(r g b(r,g,b))以更改填充颜色。

    有关示例,请参见测试*.d

    祝你好运!

        4
  •  1
  •   user100177    15 年前

    您可以使用sdl弹出一个窗口,并使用sdl_gfxprimitves.h从sdl_gfx绘制线条(它还可以渲染基本文本和形状)。它不需要花太多时间来设置,而且是便携式的。

    #include <SDL/SDL.h>
    #include <SDL/SDL_gfxPrimitives.h>
    
    main() {
        SDL_Surface *screen = NULL;
    
        if ( SDL_Init(SDL_INIT_VIDEO) < 0 )
            exit(EXIT_FAILURE);
    
        atexit(SDL_Quit);
    
        screen = SDL_SetVideoMode(500, 500, 32, SDL_SWSURFACE|SDL_ANYFORMAT);
    
        if ( screen == NULL )
            exit(EXIT_FAILURE);
    
        lineColor(screen, 50, 50, 200, 200, 0xff0000ff);
        SDL_Flip(screen);
    
        sleep(5);
    }
    
        5
  •  0
  •   Norman Ramsey    15 年前

    wxwidgets 是更具特色和更广泛移植的GUI工具包之一。该工具包本机是C语言,但有许多其他语言的绑定。我不知道D是否在其中。