2

我发现我自己需要一个画线包。我需要弹出一个窗口并画线和点。文字会很好,但我可以没有它。最重要的是,我需要一些简单的东西才能运行。我没有时间在 libs 周围闲逛(如果我确实有时间,我会愿意,但我已经落后了)。

我更喜欢D 语言解决方案(Windows XP、D1.0、Phobos),但我可能可以使用任何带有 C 链接和源代码的东西。

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

有任何想法吗?

4

5 回答 5

2

如果您想要一个进程外的解决方案,为了让某些东西快速启动并运行,生成 PostScript 和启动 PostScript 查看器很难。这个技巧的最大优点是你生成了一些东西,你不喜欢它的样子,你可以手动编辑它,直到它看起来更好。然后您返回并编辑生成器。因此,您的原型制作周期非常快。

于 2009-05-03T02:13:19.980 回答
2

量子点

它就是为此而生的。

只需导入 qd,与 SDL.lib 链接(如果需要文本,则为 SDL_ttf),然后设置 screen(width, height),line(x1, y1, x2, y2) 绘制一条线,pset(x1, y1) 到画一个点, print(x1, y1, Bottom|Right, "text") 打印文本。cls 重置,翻转更新屏幕。events() 来处理事件。将 , rgb(r, g, b) 附加到上述任何命令以更改线条颜色, Fill(rgb(r, g, b)) 以更改填充颜色。

例如,请参阅 test*.d

祝你好运!

于 2009-05-03T12:59:33.513 回答
1

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

cairo有一个旧的D 绑定(由一些没有才华的黑客编写),它可能仍然有效。如果不出意外,它将演示如何在 D 中链接和使用 cairo。

于 2009-05-03T02:51:33.443 回答
1

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

#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);
}
于 2009-05-03T10:45:09.483 回答
0

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

于 2009-05-03T02:11:32.433 回答