2009-05-03 2 views
2

Я нахожу, что я сам нуждаюсь в пакете для рисования линий. Мне нужно открыть окно и нарисовать линии и точки. Текст был бы хорош, но я могу жить без него. Самое главное, мне нужно что-то, что грязь просто для запуска. У меня нет времени, чтобы пообщаться с libs (если бы у меня было время, я бы хотел, но я уже отставал, как есть).Набор чертежей линии C/D

Я бы предпочел решение D language (Windows XP, D1.0, Phobos), но я мог бы использовать что-либо с C-связью и источником.

Я также мог бы использовать выходное решение, как в: генерировать входной файл, программу вызова.

Любые идеи?

ответ

1

Другим вариантом является использование Cairo. Он имеет очень простой в освоении API, достаточно мощный и может писать PNG, PS, PDF и SVG из коробки. Он также поддерживает рисование окон GDI, X и Quartz.

Существует старый D binding for cairo (написанный каким-то талантливым хаком), который все еще может работать. Если ничего другого, он продемонстрирует, как связывать и использовать cairo в D.

0

wxwidgets является одним из наиболее функциональных и широко распространенных инструментов графического интерфейса пользователя. Инструментарий изначально C, но есть привязки для множества других языков. Я не знаю, является ли D среди них.

2

Если вы хотите получить внепроцессное решение, чтобы быстро получить что-то и быстро его выполнить, сложно выполнить команду , генерируя PostScript и запуская PostScript-просмотрщик. Большим преимуществом этого трюка является то, что вы что-то генерируете, вам не нравится, как он выглядит, вы можете отредактировать его вручную, пока он не станет лучше. Затем вы возвращаетесь и редактируете генератор. Таким образом, ваш цикл прототипирования очень быстрый.

+0

Вы также можете создать SVG и запустить веб-браузер. – Breton

1

Вы можете использовать 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); 
} 
2

QD.

Это было сделано для этого.

Только импортировать qd, ссылку с SDL.lib (SDL_ttf, если вы хотите текст), затем экран (ширина, высота) для настройки, строка (x1, y1, x2, y2), чтобы нарисовать строку, pset (x1 , y1), чтобы нарисовать точку, напечатать (x1, y1, Bottom | Right, "text") для печати текста. cls для сброса, переверните, чтобы обновить экран. events() для обработки событий. Добавить, rgb (r, g, b) в любую из приведенных выше команд, чтобы изменить цвет линии, Fill (rgb (r, g, b)), чтобы изменить цвет заливки.

Примеры см тест * .D

удачи!

+0

Где я могу получить SDL.lib? – BCS

+0

Проверьте здесь: http://www.libsdl.org/download-1.2.php – FeepingCreature

Смежные вопросы