Autor Beitrag
InfoStudent86
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 23.01.10 18:25 
Hallo,

ich versuche gerade in meiner WindowsForm mathematische Formeln anzuzeigen. Lieder benötigt man für Latex ja extra Compiler etc. Jetzt habe ich im Internet einen Service gefunden, der Latex-Formeln als *.png abspeichert.

latex.univie.ac.at/?x=1

Gibt es eine Möglichkeit aus .NET heraus dieses Angebot anzuzapfen und das Bild zu downloaden.

Idee ist es dabei in einem Textfeld die Formel in Latex einzugeben und nach drücken von Generate das bild angezeigt zu bekommen.


Grüße

Johannes


Moderiert von user profile iconChristian S.: Topic aus WinForms verschoben am Sa 23.01.2010 um 18:02
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 23.01.10 19:01 
Hallo!

Du kannst z.B. die WebClient-Klasse benutzen, um das Bild in ein Byte-Array zu laden (die Methoden hier wären dann DownloadData bzw. DownloadDataAsync).

Wenn man das Byte-Array dann in einen MemoryStream verpackt (einfach im Konstruktor des MemoryStreams übergeben), kann man ein Bitmap draus erzeugen (den Stream im Konstruktor des Bitmaps übergeben), welches ganz normal angezeigt werden kann.

Grüße
Christian

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
InfoStudent86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 23.01.10 19:56 
Vielen dank für den Ansatz. Ich habe direkt mal ein bisschen in der API nachgelesen.

Meine ersten Zeilen sind jetzt
ausblenden C#-Quelltext
1:
2:
3:
            WebClient client = new WebClient();
            client.Headers.Add("user-agent""Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)");
            byte[] x = client.DownloadData(@"http://latex.univie.ac.at/?x=1");



Leider kommt da schon keine Antwort bei mir an, sprich das Array ist leer. Ich habe leider noch nie etwas mit dem WebClient geschweige denn mit ASP etc gemacht.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 23.01.10 20:07 
Also bei mir funktioniert das mit dem Webclient (gerade getestet), allerdings lasse ich die Sache mit dem Header weg. Oh, und ich benutze HttpUtility.UrlEncode um den Teil mit der Formel in URL-konforme Zeichen zu verwandeln. Die HttpUtility-Klasse findest Du im Assembly System.Web.

//edit: Letzteres scheint nicht wirklich notwendig zu sein.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
InfoStudent86 Threadstarter
Hält's aus hier
Beiträge: 11



BeitragVerfasst: Sa 23.01.10 21:45 
Hi,


super geil. Ich hab es gelöst. Jetzt muss ich für eine einfache Formel nicht komplett Latex Installieren.

Für alle die dies auch gebrauchen können poste ich mal meinen sicher nicht perfekten Lösungsansatz

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
            WebClient client = new WebClient();
            byte[] x = client.DownloadData(@"http://latex.univie.ac.at/?x=1");

            Stream s = File.Create(@"c:\test.png");
            s.Write(x, 0, x.Length);
            s.Close();