GetDIBSizes?
GetDIBSizes?
Hallo,
ich versuche einen alten Deplhi-Quellcode mit Lazarus zu bearbeiten. Leider scheitere ich momentan daran, dass die Funktion "GetDIBSizes" nicht bekannt ist.
In welcher Unit finde ich sie?
Vielen Dank!
Gruß,
Chris
ich versuche einen alten Deplhi-Quellcode mit Lazarus zu bearbeiten. Leider scheitere ich momentan daran, dass die Funktion "GetDIBSizes" nicht bekannt ist.
In welcher Unit finde ich sie?
Vielen Dank!
Gruß,
Chris
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Re: GetDIBSizes?
Das klingt ja, als würdest du von Hand zufuß and irgendwelchen Bitmap-Routinen rumschrauben. Sicher, dass Lazarus nicht schon alles dafür dabei hat?
Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: GetDIBSizes?
Bei Delphi befindet sich die procedure in vcl\Graphics.pas, Lazarus nimmt bei Grafikbearbeitung einen anderen Weg, denn sie soll ja nicht nur unter Windows laufen!
Code: Alles auswählen
procedure GetDIBSizes(Bitmap: HBITMAP; var InfoHeaderSize: DWORD; var ImageSize: DWORD);
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
Re: GetDIBSizes?
Hallo,
okay, also kann ich Euren Antworten entnehmen, dass es keine vergleichbare Funktion in Lazarus gibt?
Gruß,
Chris
okay, also kann ich Euren Antworten entnehmen, dass es keine vergleichbare Funktion in Lazarus gibt?
Nein, woher soll ich das wissen?Sicher, dass Lazarus nicht schon alles dafür dabei hat?
Gruß,
Chris
-
- Beiträge: 770
- Registriert: Sa 21. Feb 2009, 13:46
- OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
- CPU-Target: 32Bit
Re: GetDIBSizes?
Was willst du denn erreichen, was ist dein Ziel ?
Ich denke dann können wir eher eine Alternative anbieten..
Ich denke dann können wir eher eine Alternative anbieten..
Code: Alles auswählen
Signatur := nil;
Re: GetDIBSizes?
Hallo,
so wie ich das sehe, wird die Funktion nur benutzt um den Speicherbedarf für Header und Graphics zu ermitteln. Direkt danach wird im Code mittels Memory() der Speicher reserviert.
Im Endeffekt ist das GetDIBSizes teil einer Druckroutine, mittels der eine Bitmap auf einem Printer ausgegeben werden kann.
Vielleicht gibt es dafür ja schon (halb-)fertige Lösungen in der LCL?
Gruß,
Chris
so wie ich das sehe, wird die Funktion nur benutzt um den Speicherbedarf für Header und Graphics zu ermitteln. Direkt danach wird im Code mittels Memory() der Speicher reserviert.
Im Endeffekt ist das GetDIBSizes teil einer Druckroutine, mittels der eine Bitmap auf einem Printer ausgegeben werden kann.
Vielleicht gibt es dafür ja schon (halb-)fertige Lösungen in der LCL?
Gruß,
Chris
-
- Beiträge: 340
- Registriert: Di 12. Sep 2006, 08:57
- OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
- CPU-Target: xxBit
- Kontaktdaten:
Re: GetDIBSizes?
Natürlich gibt es da was fertiges. Ein Drucker verwendet ein Canvas. Du Zeichnest deine Grafik mit Bild.Draw(Canvas, x, y) einfach auf das Canvas des Druckers. An dieser Stelle solltest du dich mit dem Canvas-Konzept auseinandersetzen, denn ich denke, dass du davon noch nie etwas gehört hast - sonst wäre deine ursprüngliche Frage gar nicht erst aufgekommen.ChrisTG hat geschrieben: Im Endeffekt ist das GetDIBSizes teil einer Druckroutine, mittels der eine Bitmap auf einem Printer ausgegeben werden kann.
Vielleicht gibt es dafür ja schon (halb-)fertige Lösungen in der LCL?

Grüße, Antrepolit
care only if your os is really burning
care only if your os is really burning
Re: GetDIBSizes?
Hallo,
gehört habe ich davon, sagen wir mal besser ich habe mit allgemein noch nicht großartig mit Grafikprogrammierung auseinandergesetzt.
Es ging mir in dem Fall auch primär darum, den alten Delphi-Quelltext partiell weiter nutzen zu können.
Die Grafik zeichnen kann ich leider nicht, denn sie liegt als Datei vor.
Gruß,
Chris
gehört habe ich davon, sagen wir mal besser ich habe mit allgemein noch nicht großartig mit Grafikprogrammierung auseinandergesetzt.
Es ging mir in dem Fall auch primär darum, den alten Delphi-Quelltext partiell weiter nutzen zu können.
Die Grafik zeichnen kann ich leider nicht, denn sie liegt als Datei vor.
Gruß,
Chris
-
- Lazarusforum e. V.
- Beiträge: 3177
- Registriert: Di 22. Jul 2008, 19:27
- OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
- CPU-Target: 32bit x86 armhf
- Wohnort: Köln
- Kontaktdaten:
Re: GetDIBSizes?
Denk dir eine bessere Ausrede ausChrisTG hat geschrieben:Die Grafik zeichnen kann ich leider nicht, denn sie liegt als Datei vor.

Code: Alles auswählen
var
b: TBitmap;
begin
b := TBitmap.Create;
b.LoadFromFile('myfile.bmp');
b.Free;
end;
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein
Re: GetDIBSizes?
So einfach geht das? 
Prima, dann werd ich mich mal mit dem Thema Canvas auseinandersetzen.
Vielen Dank nochmal an alle hier!
Gruß,
Chris

Prima, dann werd ich mich mal mit dem Thema Canvas auseinandersetzen.
Vielen Dank nochmal an alle hier!
Gruß,
Chris