2012-07-13 25 views
8

Mam plik SVG, który muszę wyświetlić w aplikacji .NET Windows Forms. To jest common problem. Jednak formant WebBrowser nie działa, ponieważ silnik IE nie renderuje poprawnie mojego SVG (w szczególności ignoruje dyrektywę zachowania zachowania w tle). Sprawdziłem formanty Chrome i Firefox i działały one świetnie, ale są one tylko 32-bitowe, a inne odwołania wymagają, aby projekt był kompilowany w trybie 64-bitowym. Z pewnością musi istnieć jakaś opcja wyświetlania prawidłowo renderowanego SVG w trybie 64-bitowym?Jak wyświetlić plik SVG w 64-bitowej aplikacji .NET?

+0

Skończyłem właśnie przy użyciu 'System.Drawing.Graphics' zamiast pisać SVG i wyświetlając to. Zdumiewające, że wydaje się, że nie ma na to rozwiązania. Mam nadzieję, że kontrola WebBrowser jest nieco bardziej zgodna z .NET 4.5. –

+0

+1 dla IE zignorowanie dyrektywy dotyczącej zachowania spacji. Dobrze wiedzieć, chyba. –

Odpowiedz

0

Próbowałem SVG.NET (https://github.com/vvvv/SVG) z WinForms i działa doskonale.

+0

Tak długo czekałem na to, dzięki! –

+2

Przyjrzałem się tej kontroli i po prostu konwertowałem SVG na obraz rastrowy. Dzięki takiemu podejściu tracimy wszystkie zalety formatu SVG. – cezarypiatek

2

Wypróbuj SVG Rendering Engine. Powinien działać w trybie 64-bitowym, ponieważ jest w pełni zarządzanym kodem.

Inną opcją jest SharpVectors.

+0

Nie zawiera żadnych formantów .NET. Czy masz na myśli renderowanie SVG jako obrazu, a następnie wyświetlanie tego? –

+0

Exaclty, mam na myśli renderowanie SVG jako obrazu, a następnie wyświetlanie go. – Luxspes

+0

Z jakiegoś powodu mój tekst nie wyświetla się po wyświetleniu jako PNG przy użyciu mechanizmu renderowania SVG (pierwsza opcja). –

Powiązane problemy