2008-10-25 12 views
7

Chcę, aby moja aplikacja Qt mogła zapisywać proste grafiki wektorowe do schowka w kompatybilny sposób. W systemie Windows chcę móc wkleić grafikę do programu Microsoft Word lub Powerpoint. W systemie Linux chcę być kompatybilny z Open Office.Format schowka grafiki wektorowej dla Qt

Jaki format polecasz? Czy Qt może generować EMF w łatwy sposób? Czy SVG jest opcją?

Aktualizacja:

Mój obecny plan jest dodanie kawałka kodu natywnego win32 do renderowania grafiki na EMF na oknach. Ten kod nie będzie dostępny w systemie Linux.

Odpowiedz

4

The QGraphicsView klasa i związane z nim pomocników mogą renderować do formatu metapliku QT przez klasę QPicture (na który można napisać tłumacza EMF), do SVG przez klasę QSVGGenerator oraz postscript/PDF poprzez QPrinter. Może również renderować do formatów bitmapowych i różnych innych celów.

AFAIK nie ma generycznego obiektu "renderuj do EMF" - musisz napisać coś innego, jak QT Metafile i przekonwertować na EMF. Jeśli potrzebujesz tylko podzbioru prymitywów graficznych, możesz potrzebować tylko obsługi tego podzestawu w tłumaczu. W przeciwnym razie możesz przejść z SVG, który możesz pobrać bezpośrednio z QT przez QSVGGenerator.

+0

Nie uważam tego za łatwe rozwiązanie. Pisanie takiego ogólnego tłumacza zajmie tygodnie. Specyfikacja EMF ma 310 stron. Znacznie łatwiej byłoby wygenerować EMF bezpośrednio (potrzebny jest tylko mały podzbiór pól elektromagnetycznych). – danatel