我發現我的自己需要一個線條畫包。我需要彈出一個窗口並畫線和點。文字會很好,但我可以沒有它。最重要的是,我需要一些泥濘的東西來運行。我沒有時間與libs混戰(如果我有時間我願意,但我已經落伍了)。我更喜歡D language解決方案(Windows XP中,D1.0,Phobos),但我可能能夠使用任何C連接和源代碼。C/D線條包
我也可以使用一個進程外解決方案,如:生成輸入文件,調用程序。
任何想法?
我發現我的自己需要一個線條畫包。我需要彈出一個窗口並畫線和點。文字會很好,但我可以沒有它。最重要的是,我需要一些泥濘的東西來運行。我沒有時間與libs混戰(如果我有時間我願意,但我已經落伍了)。我更喜歡D language解決方案(Windows XP中,D1.0,Phobos),但我可能能夠使用任何C連接和源代碼。C/D線條包
我也可以使用一個進程外解決方案,如:生成輸入文件,調用程序。
任何想法?
另一種選擇是使用Cairo。它有一個非常簡單易學的API,功能非常強大,可以直接編寫PNG,PS,PDF和SVG。它還支持繪製到GDI,X和Quartz窗口。
有一個古老的D binding for cairo(某些人才少黑客寫的)可能仍然工作。如果沒有其他內容,它將演示如何鏈接和使用D中的cairo。
wxwidgets
是功能更多,更廣泛的端口GUI工具包之一。該工具包本身就是C,但是有很多其他語言的綁定。我不知道D是否在其中。
如果您想要一個進程外解決方案,爲了快速啓動並運行,很難打敗生成PostScript並啓動PostScript查看器。這個訣竅的巨大優勢在於你生成了一些東西,你不喜歡它的外觀,你可以手工編輯它,直到看起來更好。然後你回去編輯發生器。所以你的原型週期非常快。
您可以使用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);
}
您也可以生成SVG並啓動Web瀏覽器。 – Breton 2009-05-03 02:15:52