![]() |
Wie speichert TCanvas Grafikdaten intern?
Hallo zusammen,
weiss jemand, ob TCanvas die Grafikdaten intern irgendwo abspeichert? Oder anders: Kann ich aus einem Canvas ermitteln, dass es aus beispielsweise einer Linie (von/nach) und einem Text (ABC) besteht? |
AW: Wie speichert TCanvas Grafikdaten intern?
Nicht ohne Mustererkennung. Zumindest meine ich, dass TCanvas nicht speichert was damit passiert ist, sondern nur das Bild lädt/verwaltet.
MfG Fabian |
AW: Wie speichert TCanvas Grafikdaten intern?
Hinter TCanvas steckt ein GDI Handle von Windows.
Das Handle verweist wiederum auf ein Bitmap, Fenster, Metafile, ... Mit der Klasse TMetafile kann man die Zeichenbefehle, die über den Canvas reinkommen aufzeichen, abspeichern und später wieder abspielen (=erneut anzeigen). Würde man die Datei *.EMF analysieren, dann könnte man jeden Befehl (MoveTo, LineTo,...) samt Parameter erkennen. (ist aber kompliziert; ![]() |
AW: Wie speichert TCanvas Grafikdaten intern?
Danke Andreas,
es ist zwar kompliziert, aber vielleicht werde ich es doch mal versuchen. Ziel ist es, ein pfd-file zu erstellen. Die Syntax für PDFs habe ich, aber dann muss man jeden Ausdruck doppelt (für Printer.Canvas und PDF) programmieren. Wenn ich jedoch das Canvas/Metafile als Grundlage nehme und daraus die pdf-Befehle ableite, wären Ausdrucke total easy. |
AW: Wie speichert TCanvas Grafikdaten intern?
Du kannst dir doch selbst ein TPDFCanvas von TCanvas ableiten, das die Zeichenbefehle in entsprechende PDF-Befehle umsetzt. Dann musst du in der eigentlichen Zeichenroutine nur noch dieses Canvas statt dem normalen Canvas übergeben und die Ausgabe erfolgt als PDF.
|
AW: Wie speichert TCanvas Grafikdaten intern?
Zitat:
![]() |
AW: Wie speichert TCanvas Grafikdaten intern?
Ach jaaaa, warum denn einfach wenn's auch kompliziert geht?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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 by Thomas Breitkreuz