Allgemeine Fragen zur PROFAN Programmierung
Views (Heute): 241052 (2488)
  Suchen
 Zurück zur Übersicht
 AutorThema: Speichern übergroßer Bitmaps
Mischa Brandt
Datum:06.07.02 07:45 Antwortenals Email verschicken (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 Antwortenals Email verschicken (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 Antwortenals Email verschicken (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 Antwortenals Email verschicken  


P.S. Die andere Möglichkeit ist Get/SetPixel...


Mischa
Datum:06.07.02 15:35 Antwortenals Email verschicken  


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 Antwortenals Email verschicken  


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 Antwortenals Email verschicken  


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 Antwortenals Email verschicken  


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