![]() |
Re: Scanline erklären
Habs gefunden.
Oh Man. Das nennt mann Performance. Ok jetzt sehe ich den Unterschied mehr als deutlich. Danke für deine Hilfe. |
Re: Scanline erklären
Doch noch eine Frage.
Was passiert hier:
Delphi-Quellcode:
Habe die Einfärbung unter dem oben genannten Code vorgenommen.
P^.rgbRed := 0;
P^.rgbGreen := 0; P^.rgbBlue := $ff; <-- haben wir ja schon, siehe IF Bedingung
Delphi-Quellcode:
Canvas.Pixels[x, y] := clBlue;
|
Re: Scanline erklären
Moin!
Zitat:
ScanLine liefert dir immer ein Zeiger auf das 1. Byte der jeweiligen Zeile zurück und ich habe mir die Variable P als PRGBQuad definiert, also ein Zeiger auf diese oben angesprochene TRGBQuad Struktur. Damit habe ich also beim zuweisen von P := ScanLine[y]; sofort einen Zeiger auf das erste Pixel und ich erhalte damit sofort z.B. den Rotanteil des Pixel mit P.rgbRed (das ^ vor dem . ist ab Delphi 5 optional). So, nun zu deiner Frage: Dieser 3-zeiler weisst die Farbe Blau dem Pixel zu. Die Farbe blau besteht aus 0 Rotanteil, 0 Grünanteil und vollen 255 Blauanteil. Diese weise ich zu ($ff = hexadezimalzahl FF = 255 dezimal). Zitat:
MfG Muetze1 |
Re: Scanline erklären
Habe meine Zeile (mit gleichem Einwand wie du eben bezogen auf Geschwindigkeitsverlust) unter deinen dreizeiler eingefügt.
Habe keinen Verlust Festgestellt. Grund: Bei deinem Code wird kein Pixel eingefärbt. Habe also keinen direkten Vergleich. Die Seite bleibt bei deinem Code unverändert. Entschuldige |
Re: Scanline erklären
Moin!
Zitat:
Zitat:
MfG Muetze1 |
Re: Scanline erklären
Entschuldigung, war ein Schnellschuß meinerseits.
|
Re: Scanline erklären
Du hast recht, die Performance leidet erheblich darunter.
OK. Dennoch wird keine Pixeländerung vorgenommen. Wenn ich dich richtig verstanden habe, werden in diesem Beispiel die Farbanteile von Rot und Grün auf null gesetzt, sodaß nur der Blaue Anteil übrig bleibt. Warum wird dieser nicht angezeigt? |
Re: Scanline erklären
Liste der Anhänge anzeigen (Anzahl: 2)
Moin!
Das ist ein Fehler in deinem Code - mein Code habe ich übernommen in die Beispiel App und der klappt einwandfrei. Schau es dir an... Also der Unterschied ist auch sehr gut zu erkennen, siehe Screenshot... MfG Muetze1 |
Re: Scanline erklären
Das sieht gut aus.
Habe jetzt den Qullcode eins zu eins übernommen (copy/past). Lediglich den Pfad zu meiner datei angepasst. Keine Pixelfarbänderung. OK. Werde morgen weitermachen. Danke für deine Hilfe Gute Nacht |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:12 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