![]() |
Re: schnellerer Zugriff auf Tbitmap
in welcher unit ist die Combine(X, Y, W: TColor32) enthalten?
|
Re: schnellerer Zugriff auf Tbitmap
Laut der Hilfe-Datei (*mitdemzaunwink* ;)) in der "GR32_Blend".
|
Re: schnellerer Zugriff auf Tbitmap
supi, habs jetzt geschafft, allerdings mit der blendfunktion.... laut hilfe passt die noch genauer zu meinem problem... oder ist die viel langsamer?
|
Re: schnellerer Zugriff auf Tbitmap
Die könnte u.U. sogar schneller sein. Das weiss ich grad nicht so genau.
Der Unterschied zwischen den beiden ist ja: Combine mischt 2 Farben (incl. Alpha-Komponente) im Verhältnis W : (1-W) Blend mischt 2 Farben (excl. Alpha-Komponente), dafür in einem Verhältnis wie es die Alpha-Komponente angibt. Lösen lässt sich dein Problem prinzipiell mit beiden :). \\edit: Diese ungewollten Grinser immer :D |
Re: schnellerer Zugriff auf Tbitmap
stimmt, jo naja ich machs jetzt mit blend... ist spezifisch für mein Problem direkter...
Und ich muss sagen, diese GrafikUnit ist wirklich ganz extrem leistungsstark! |
Re: schnellerer Zugriff auf Tbitmap
wenn isch schon am fragen bin, dann frag ich doch gleich weiter, denn ich bin schon bei meinem nächsten Problem angelangt. Gibt es eine Funktion, welche einem die Komplementärfarbe (Gegenfarbe) einer TColor32 berechnet?
|
Re: schnellerer Zugriff auf Tbitmap
Soooo schlecht ist die Hilfe zur G32 doch garnet :zwinker:
Invert() bzw. InvertRGB() invertieren dir ein ganzes TBitmap32. Einmal mit, und einmal ohne den Alphakanal mit zu invertieren. Ansonsten ist zu einer Farbe "r, g, b" die Farbe "255-r, 255-g, 255-b" invers. Also so einfach selber zu machen, dass die G32 da nicht mal eine separate Funktion für bietet ;). \\edit: Die Funktion ColorSub() könnte dir dabei helfen. Wenn du:
Delphi-Quellcode:
bekommst du die Komplementärfarbe zu Rot. Sollte schneller sein, als es von Hand zu berechnen. Einfach die zu invertierende Farbe von Weiss subtrahieren.
NewColor := ColorSub(Color32(255,255,255), Color(255,0,0));
|
Re: schnellerer Zugriff auf Tbitmap
*sabber* Fraktale, das ist eins der geilsten sachen die es gibt.
hab auch mal so nen Programm geschrieben was mandelbrote usw. backt. Mit der TBitmap methode scanline kannste ne mandelbrotberechnung mit Pixles[x,y] so um die 10 seckunden verschnellern! Auf delphi-source.de gibt es beispiele zu scanline ![]() Hoffe das hilft dir! Mir hat es das! |
Re: schnellerer Zugriff auf Tbitmap
Öhm, glaub mir: Die G32 ist u.U. sogar noch schneller, und vor allem um Längen komfortabler als das Pointerrumgeschubse mit Scanline. Hab's bevor ich die G32 kannte auch mit Scanline gemacht, aber der Umstieg war mehr als richtig und einfach.
Zumal man mit der G32 auf einmal einen riesen Haufen an Möglichkeiten mehr hat: Layered Bitmaps, eingebautes Antialiasing mit verschiedenen Algos (man kann sogar Pixel auf Float-Koordinaten setzen, und die G32 übernimmt die Verteilung auf die 4 realen Pixel), volle Alphakanalunterstützung, haufenweise Optimierungen mit MMX, SSE(2), etc., und vieles vieles mehr. Wer viel Grafik mit Delphi macht, dem kann ich die G32 einfach nur wärmstens an's Herz legen - Scanline ist nen Weisenkind dagegen ;) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:19 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