![]() |
Mehrere Canvas zu einem zusammenfügen und speichern
Moin leute,
hab da ein Problem, bin absoluter delphi-NoOb ich habe um genau zu sein 4 canvas die ich untereinander in einem anderen canvas anzeigen (später auch drucken und speichern) lassen will und habe NULL ahnung wie ich das anstellen soll. Könnt mir da jemand helfen, Danke schonmal Gruß, Overlord :???: |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
das einfachste wäre wenn du sie auf ein 5tes Canvas kopierst.
Das kopieren geht recht einfach mit BitBlt |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
Die idee hatte ich auch schon.
Allerdings hab ichs noch nicht geschafft dass die einzelnen canvas untereinander in dem 5. canvas angezeigt werden...sie werden immer in die obere linke ece gesetzt und so überdeckt... bin ich richtig in der annahme,dass BitBlt ein hilfsprogramm (bzw addon) für delphi ist? Denn ich brauche das für ein schulproject und wir dürfen keinerlei hilfen benutzen. Gruß |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
bitblt ist eine Windowsfunktion welche in der Unit "windows" declariert ist und somit immer verfügbar ist mit der Standardinstallation. Du schreibst bisher das du mehrere Canvas hast, zu was gehören aber diese Canvas? Zu einem TBitmap, TPictiure, TImage etc.? Nur mit Canvas hast du das Problem heraus zu finden wie hoch die einzelnen bilder sind.
Delphi-Quellcode:
var
lTop: Integer; begin lTop := 0; BitBlt(ZielCanvas.Handle, 0, lTop, Quellbildbreite1, Quellbildhoehe1, QuellCanvas1.Handle, 0, 0, SRCCOPY); lTop := lTop + Quellbildhoehe1; BitBlt(ZielCanvas.Handle, 0, lTop, Quellbildbreite2, Quellbildhoehe2, QuellCanvas2.Handle, 0, 0, SRCCOPY); lTop := lTop + Quellbildhoehe2; BitBlt(ZielCanvas.Handle, 0, lTop, Quellbildbreite3, Quellbildhoehe3, QuellCanvas3.Handle, 0, 0, SRCCOPY); |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
Also die canvas sind TImage.
Und ich weiß auch die genaue größe der einzelnen canvas...sie sind 500pixel lang und 125pixel hoch. |
DP-Maintenance
Dieses Thema wurde von "Phoenix" von "Programmieren allgemein" nach "Sonstige Fragen zu Delphi" verschoben.
Delphithema -> Delphi Sparte |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
Kann mir keiner hier weiterhelfen??
:( |
Re: Mehrere Canvas zu einem zusammenfügen und speichern
Ich hatte dir die Lösung doch schon gepostet. Wenn du versuchst den Quelltext zu verstehen und es gelingt dir solltest du kein Problem haben. Es macht aber keinen Sinn dir eine Lösung zu schreiben die du nur kopieren musst weil du dann gar nix lernst (und die von mir gepostete Lösung ist fast zum 1 zu 1 kopieren)
|
Re: Mehrere Canvas zu einem zusammenfügen und speichern
OK, ich denke das funktioniert, danke...kann diese Funktion in der Hilfe aber nicht finden, könntest du mir also sagen wie die Funktion aufgebaut ist? Z.B: dieses "Handle" und die ganzen Nullen? Wäre echt nett wenn das nochma jemand erklären würde...
|
Re: Mehrere Canvas zu einem zusammenfügen und speichern
BDS-Hilfe: BOOL BitBlt( HDC hdcDest, // handle to destination DC int nXDest, // x-coord of destination upper-left corner int nYDest, // y-coord of destination upper-left corner int nWidth, // width of destination rectangle int nHeight, // height of destination rectangle HDC hdcSrc, // handle to source DC int nXSrc, // x-coordinate of source upper-left corner int nYSrc, // y-coordinate of source upper-left corner DWORD dwRop // raster operation code ); oder auch da: MSDN BOOL BitBlt( HDC hdcDest, int nXDest, int nYDest, int nWidth, int nHeight, HDC hdcSrc, int nXSrc, int nYSrc, DWORD dwRop ); Zu finden hier: ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz