Autor Beitrag
vermis-one
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 25

Win XP
VB.NET/C# VS2008express, XNA3.0 CTP
BeitragVerfasst: Mo 09.04.07 23:55 
Hallo zusammen..

Vielleicht wurde das hier schon behandelt.. aber ehrlich gesagt weiß ich nicht mit
welchen Stichworten ich suchen sollte.. daher mach ich mal hier was neues auf..

Hier mein Problemchen..
Ich habe ein Form auf dem ich verschiedene Linien in einen bestimmten Bereich gezeichnet habe..
Nun will ich eben diesen bestimmten Bereich in eine Bildatei (wahrscheinlich im PNG-Format) speichern..
Die Frage ist nur wie bekomm ich die Pixeldaten von dem Formbereich in ein Image ??

Ich habe zwar die Funktion Graphics.CopyFromScreen() gefunden..
aber die kopiert von und dann auf das Form.. nicht aber in ein Image..

Vielleicht hat jemand eine Lösung oder eine Idee.......

_________________
Vor dem Zweiten Weltkrieg war das Leben einfach, danach gab es Computer. Grace Hopper
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Di 10.04.07 10:42 
Müssen die Zeichnungen denn unbedingt direkt auf der Form sein? Wenn nicht, solltest du direkt in ein Image zeichnen und dieses dann beispielsweise per PictureBox anzeigen.
vermis-one Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 25

Win XP
VB.NET/C# VS2008express, XNA3.0 CTP
BeitragVerfasst: Di 10.04.07 17:33 
Genau genommen ist das eigenlich egal wo das hingezeichnet wird.. hauptsache ist nur das das ganze dann
in einer Bildatei gespeichert wird..

Das Dumme beim Malen direkt in ein Image ist nur das man - zumindest soweit ich weiß - mit den
Image-Funktionen nicht so einfach zeichnen kann wie mit dem Graphics-Object..
Ich hab da nur die Funktion SetPixel() gefunden.. und es mir ehrlich gesagt zu aufwendig jeden Pixel
einzeln zu berechnen und dann reinzuzeichnen.. z.b. Elipsen, Schrägen usw. ..

aktuell (als zwischenlösung) mach das auch so - allerdings nur mit geraden.. für das aktuelle
projekt ist das vollkommen ausreichend.. dennoch wär es nützlich zu wissen wie
ich das direkt vom Form in ein Image kopiere damit ich auch komplexere formen ohne komplexe
berechnungen berücksichtigen kann - sofern das überhaupt möglich ist..

von mir aus kopier ich das auch pixel für pixel in ein image - aber ich muss erstmal an die
pixel-daten von dem form rankommen..

_________________
Vor dem Zweiten Weltkrieg war das Leben einfach, danach gab es Computer. Grace Hopper
Kha
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 3803
Erhaltene Danke: 176

Arch Linux
Python, C, C++ (vim)
BeitragVerfasst: Mi 11.04.07 12:01 
Graphics.FromImage ist dein Freund ;).
vermis-one Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 25

Win XP
VB.NET/C# VS2008express, XNA3.0 CTP
BeitragVerfasst: Mi 11.04.07 18:39 
Ah... Ja.. Das ist es.. Vielen Dank..

Und es ist auch kein Wunder das ich´s nicht gefunden habe..
ich hab immer das Graphics-Objekt vom Paint-Ereignis (PaintEventArgs e) des Forms genommen
und da gibts ja keine FromImage-Methode..

Und warum hab ich das nicht in der Hilfe gefunden - habs doch scho x-mal durchgeschaut..
tse tse.. sieht man den Wald vor lauter Bäumen nicht..

_________________
Vor dem Zweiten Weltkrieg war das Leben einfach, danach gab es Computer. Grace Hopper