![]() |
(TCanvas und Scanline) oder (TBitmap eine Canvas zuweisen)
Hallo,
ich stehe vor folgendem Problem. Ich habe bisher immer eine Function zur Bildmanipulation genutzt die als übergabeparameter "TCanvas" erwartet. Da diese Funktion zu langsam war habe ich heute eine Function gebaut die mit Hilfe von "Scanline" schneller arbeitet und das gleiche macht. Scanline ist aber eine Methode von TBitmap. Es wäre jetzt ein riesen aufwand in allen Projecten der Aufruf der Funktion zu ändern damit diese schneller arbeiten. Gibt es da eventuell eine Funktion mit der ich einem TBitmap eine Canvas zuordnen kann. Ich weiß das es "Canvas.Draw" gibt, allerdings ist dies ja ein kopieren und nimmt somit wieder rechenleistung in Anspruch. Somit zur eigentlichen Frage: Gibt es eine Möglichkeit einem TBitmap eine TCanvas zuzuweisen. Oder gibt es eventuell für TCanvas soetwas wie Scanline? Wenn ja wie kann ich dann das Pixelformat auf 32 Bit eisntellen? |
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
Einem TBitmap eine Canvas zuweisen ist mit der VCL ganz einfach:
Delphi-Quellcode:
TBitmap.Canvas := NewCanvas;
|
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
Das war auch mein erster Gedanke aber leider ist "Bitmap.Canvas" readonly und kann somit nicht zugewiesen werden
|
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
Dann versuchs doch so:
Delphi-Quellcode:
TBitmap.Canvas.Handle := NewCanvas.Handle;
|
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
@Dax: So gehts aus irgend einem Grund nicht. Auch nicht wenn ich die Größe des Bitmaps setze (egal ob vor oder nach der Canvas.handle-Zuweisung)
|
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
:gruebel: Dann weiss ich auch nichts mehr.
|
Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise
Moin SirThornberry,
Du hast doch eine Delphi Version mit Sourcen. Schau Dir doch an, wie Scanline dort implementiert ist. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:40 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