AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi ScanLine anwenden, bzw die Hilfe verstehen
Thema durchsuchen
Ansicht
Themen-Optionen

ScanLine anwenden, bzw die Hilfe verstehen

Ein Thema von tapete · begonnen am 19. Jul 2007 · letzter Beitrag vom 20. Jul 2007
Antwort Antwort
Benutzerbild von inherited
inherited

Registriert seit: 19. Dez 2005
Ort: Rosdorf
2.022 Beiträge
 
Turbo Delphi für Win32
 
#1

Re: ScanLine anwenden, bzw die Hilfe verstehen

  Alt 19. Jul 2007, 12:14
Also, vereinfacht läuft das so ab: das Bild besteht ja aus Pixeln, wobei jedes dieser Pixel aus im normalfall 3 Byte besteht.
Ein Byte jeweils für Rot, Blau und Grünanteil. Und diese Bytes liegen hintereinander im Speicher.
bei einem 3x3-Bild dessen erste Zeile Schwarz ist, die anderen weiß ergibt sich folgendes Speicherbild:

Code:
00,00,00 00,00,00 00,00,00   FF,FF,FF FF,FF,FF FF,FF,FF  FF,FF,FF FF,FF,FF FF,FF,FF
Jetzt hast du ein einmal dein Typ, ein Array [1..3] of Byte, also Platz für genau 3 Byte.
Dann machst du daraus einen Pointer, mit ^Typname und weist der Variable das Ergebnis von Scanline zu, was nichts anderes ist,
als der Anfang dieser oben ersten genannten Bytekette, die erste "Zeile" des Bildes.

Wenn du dann auf p^[1] Zugreifst, bekommst du das erste Byte. Ich weiß jetzt nicht wierum das da drin liegt, entweder ist das der Rot- oder der Blauanteil des ersten Pixels. Mit p^[2] bekommst du den Grünanteil und mit p^[3] das 3. Byte, den übrig bleibenden anteil.
Jetzt musst du den Pointer um eins erhöhen, damit du an die nächsten 3 Bytes kommst, also das nächste Pixel.
Das machst du sooft bis du an das Ende der Zeile angekommen bist. Dann machst du das für die nächste Zeile usw.

Fertig
Nikolai Wyderka

SWIM SWIM HUNGRY!
Neuer Blog: hier!
  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 05:08 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