AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi (TCanvas und Scanline) oder (TBitmap eine Canvas zuweisen)
Thema durchsuchen
Ansicht
Themen-Optionen

(TCanvas und Scanline) oder (TBitmap eine Canvas zuweisen)

Ein Thema von SirThornberry · begonnen am 26. Sep 2004 · letzter Beitrag vom 26. Sep 2004
Antwort Antwort
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#1

(TCanvas und Scanline) oder (TBitmap eine Canvas zuweisen)

  Alt 26. Sep 2004, 13:34
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?
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#2

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 13:40
Einem TBitmap eine Canvas zuweisen ist mit der VCL ganz einfach:TBitmap.Canvas := NewCanvas;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 13:42
Das war auch mein erster Gedanke aber leider ist "Bitmap.Canvas" readonly und kann somit nicht zugewiesen werden
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#4

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 13:43
Dann versuchs doch so:TBitmap.Canvas.Handle := NewCanvas.Handle;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#5

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 13:52
@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)
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Dax
(Gast)

n/a Beiträge
 
#6

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 13:52
Dann weiss ich auch nichts mehr.
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.105 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: (TCanvas und Scanline) oder (TBitmap eine Canvas zuweise

  Alt 26. Sep 2004, 14:26
Moin SirThornberry,

Du hast doch eine Delphi Version mit Sourcen.
Schau Dir doch an, wie Scanline dort implementiert ist.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:51 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz