AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Frage zu ScanLine

Ein Thema von Koller · begonnen am 6. Aug 2006 · letzter Beitrag vom 7. Aug 2006
 
Koller

Registriert seit: 22. Mär 2005
59 Beiträge
 
#1

Frage zu ScanLine

  Alt 6. Aug 2006, 19:04
Delphi-Quellcode:
 //Farbtiefe der beiden Pictures auf 32 bit setzen
       Picture1.Bitmap.PixelFormat := pf32Bit;
       Picture2.Bitmap.PixelFormat := pf32Bit;
       //in einer Zählschleife Zeile für Zeile durchgehen
       for y := 0 to Picture1.Bitmap.Height - 1 do
       begin
         //per ScanLine die Zeile auslesen
         Line1 := Picture1.Bitmap.ScanLine[y];
         Line2 := Picture2.Bitmap.ScanLine[y];
         Line3 := Target.Bitmap.ScanLine[y];
         //die ausgelesenen Zeilen von links nach rechts durchgehen
         for x := 0 to Picture1.Bitmap.Width - 1 do
         begin
           //die Farbe des aktuellen Pixels von Picture1 berechnen
           tempColor1 := RGB(Line1.rgbRed,Line1.rgbGreen,Line1.rgbBlue);
           //die Farbe des aktuellen Pixels von Picture2 berechnen
           tempColor2 := RGB(Line2.rgbRed,Line2.rgbGreen,Line2.rgbBlue);
           //je nachdem, welches Bild oben ist, die Mischfarbe berechnen
           if (PictureAboveID = 1) then
             tempColor3 := MixColor(tempColor1,tempColor2,AlphaBlendValue)
           else
             tempColor3 := MixColor(tempColor2,tempColor1,AlphaBlendValue);
           //in den aktuellen Pixel des Ziel-Pictures die Mischfarbe schreiben
          //wird durch die folgenden drei Anweisungen die neue Farbe geschrieben?
           Line3.rgbBlue := GetBValue(tempColor3);
           Line3.rgbGreen := GetGValue(tempColor3);
           Line3.rgbRed := GetRValue(tempColor3);
           //die drei Pointer inkrementieren, um zum nächsten Pixel zu gelangen
           inc(Line1);
           inc(Line2);
           inc(Line3);
         end;
Ich berechne die Mischfarbe zweier TColor und will sie in Target.Bitmap schreiben. Wird durch die drei markierten Anweisungen die neue Farbe auch geschrieben, weil ich bei der Ausgabe nur ein weißes Bild erhalte?
  Mit Zitat antworten Zitat
 


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 04:18 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 by Thomas Breitkreuz