Übergroßes Bitmap erzeugen?

  • VB.NET

Es gibt 5 Antworten in diesem Thema. Der letzte Beitrag () ist von Dediggefedde.

    Übergroßes Bitmap erzeugen?

    hi ^^

    ich möchte mehrere Bilder zu einem wie man es aus einem Panorama-Foto oder einer Schriftrolle kennt, zusammenfügen.
    Nun habe ich aber das Problem, dass new Bitmap ab einer bestimmen Bildgröße meint, der Übermittelte Wert wäre ein "Ungültiger Parameter"...
    Interessant ist auch, dass man diesen Wert nicht genau bestimmen kann, da nach ein paar sekunden 100p^2 mehr bzw. weniger erstellt werden können.

    Hier der Code:

    dim h,w as integer
    h=1300
    w=2000000
    dim Bild as new Bitmap(w,h)

    gibt es da eine Ausweichmöglichkeit, um mehrere Bilder zu einem langen zu vereinen, als dass man ein entsprechend großes Bitmap erzeugt und die Bilder dort mit einem graphics-Objekt einzeln einzeichnet?
    oder wisst ihr, wieso sich der Bitmap-Konstruktor hier beschwert?

    mit freundlichen Grüße
    Dediggefedde
    Hallo Beep!

    Wie geschrieben sollen mehrere Bilder aneinander gefügt werden.

    natürlich werden 2000000 normalerweise nicht erreicht, da dies bei einer guten Bildgröße von 1700 px immerhin über 1100 Bilder wären...
    realistischer wäre in dem Bezug sicher ein Wert für z.B. 200 Bilder, also 510000... dort gibt es übrigens denselben Fehler...

    Ist das wirklich ein Problem der Herangehensweise, also nicht zu umgehen, dass Bitmaps eine maximale Größe haben?
    Danke für den Hinweis^^ ich wusste zwar, dass der Konstruktor mit Int16 rechnet, habe dies aber durch eine interessante Testreihe überprüft:
    ich benutzte einen Haltepunkt und die Größe int16.max. dies führte zu dem oben genannten Fehler. Benutzte ich schrittweise durch den Haltepunkt niedrigere Werte, erhielt ich den selben Fehler. selbst 50000px Höhe wurden nicht akzeptiert.

    benutze ich jedoch 50000px gleich beim Start des Programmes, funktioniert das ganze einwandfrei^^

    übrigens: will ich das große Bild erneut laden, habe ich plötzlich zu wenig Arbeitsspeicher. gehe ich nahe an den Grenzwert, erhalte ich weiter unten beim Speichern des Bildes einen Fehler der GDI+.

    Ich habe langsam die Ahnung, dass man das Problem lieber anders als durch ein Programm lösen sollte... zumindest als durch ein eigenes vb.net-Programm^^

    naja, notfalls wieder auf die guten alten pdf-Drucker umschwenken^^