Allgemeine Fragen zur PROFAN Programmierung

Views (Heute): 241052 (2488)

| Suchen
| Zurück zur Übersicht

Autor | Thema: Speichern übergroßer Bitmaps
Mischa Brandt
| Datum:06.07.02 07:45 (mischabrandt@gmx.de) |
Hallo! Also ich habe jetzt die ganze Nacht damit verbracht, eine brauchbare Vorlage zum speichern eines CompatibleDCs in eine Bitmap-Datei zu finden. Ohne Erfolg. Ich würde das gerne über API regeln (die profaninternen Möglichkeiten sind ja ohnehin auf 2000*2000 limitiert) Vielleicht hat ja noch jemand eine Lösung in der Schublade liegen. Ich wäre unendlich dankbar für einen Quelltext. PS: Bitte verweist mich nicht auf DIBs und so weiter, denn ich bin scheinbar zu dumm, das im Zusammenhang umzusetzen. Zumindest raucht mir ganz gewaltig der Schädel. Ich danke Euch im Voraus. Gruß, Mischa
Thorsten
| Datum:06.07.02 08:44 (galaxy@mkk.de) |
Hallo, Nimm einfach die Prospeed.DLL, und bitmaps unendlicher Grössen lassen sich sehr gut verwalten. Es reicht nicht, einfach nur die Bitmap als DIB und CompatibleDC zu Speichern, es muss dazu Speicher angefordert , Sectionen erstellt und DC´s mit einander verknüpft werden. Zurück auf dem Schirm ist es fast genauso, der Aufwand ist mit Profan dazu viel zu gross, nur Struckturen und Adresen.
Frank Abbing
| Datum:06.07.02 10:33 (frankabbing@12move.de) |
Hi, du kommst nicht um DIB's drumherum. Diese können in ein ByteArray umgewandelt werden und dann sehr einfach abgespeichert werden. Bitmap-Header + ByteArray = Bild.Bmp Sollte mit ProSpeed kein Problem darstellen. Du mußt nur auf einen HDC InitExtFX() anwenden, damit erstellst du das ByteArray. Der damit erhaltenen Zeiger ist automatisch ein Zeiger auf eine Bitmap-Struktur, mit der du deinen Bitmap-Header erstellen kannst. Wie das genau geht, schreibe ich dir am besten in einer persönlichen Mail, wenn du möchtest. Gruß, Frank Abbing
Frank Abbing
| Datum:06.07.02 10:34 |
P.S. Die andere Möglichkeit ist Get/SetPixel...
Mischa
| Datum:06.07.02 15:35 |
Hi Thorsten! Hi Frank! Eben, soviel Aufwand, daher fragte ich ja auch, ob das schon mal jemand in Profan umgesetzt hat und zufällig ein Quelltext-Beispiel hat. Abgesehen davon arbeite ich sowohl mit der Prospeed.dll, als auch mit eigenen API-Funktionen um den Verwaltungsaufwand mit mehreren und übergroßen Bitmaps zu bewerkstelligen. Bislang habe ich mich aber noch gar nicht mit DIBs beschäftigt. Beim speichern scheint es aber nahezu unumgänglich zu sein. Eine quasi GetPixel/SetPix Routine zum speichern habe ich schon entworfen, ist aber nun mal sehr langsam. :-( Ist schon erstaunlich, wieviel Aufwand nötig ist, um eine einfache Bitmap mit API-Mitteln zu speichern.. Und ja Frank, es wäre nett wenn Du mir schreiben würdest.. ;-) So jetzt Blitte ein Dib, äh, bitte eine Bit.. Mischa
Frank Abbing
| Datum:06.07.02 15:42 |
Hi, schon mal Sebastian König's Screensaver Inc's ausprobiert ? Könnte eventuell für dich anwendbar sein... Gruß, Frank
Mischa
| Datum:06.07.02 20:03 |
Hm, Frank Ich bin gesundheitlich etwas angeschlagen, daher sehe ich auch nicht sonderlich gut, offensichtlich, denn auf Sebastians Seite finde ich irgendwie keine Screensaver.inc. Alles was ich fand war Screenshot-Mittel, usw und das hilft mir ja nicht so wirklich. Habe ich da was übersehen? Oder muß ich auf einer anderen Seite schauen? Ein etwas ratloser Mischa
Frank Abbing
| Datum: 06.07.02 23:42 |
Hi, du hast recht, nicht Screensaver, sondern Screenshots. Aber irgendwie lassen sich die Daten im Clipboard ja auch abspeichern. Vielleicht wäre das mal einen genaueren Blick wert... Gute Besserung ! Gruß, Frank

| Zurück zur Übersicht