Announcement

Collapse
No announcement yet.

2 bilder 50% faden

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • 2 bilder 50% faden

    HI!
    ich möchte 2 bilder übereinanderlegen und zwar so, dass beide sozusagen "gleichberechtigt" sind, sprich genau semitransparent. um das ganze möglichst schnell zu erledigen, dachte ich mir folgendes:

    bei beiden farbewerten das niederwertigste bit ausmaskieren, jeweils einmal nach rechts "shiften" und dann die summe der beiden in ein neues bild kopieren und schon hat man 50% fade.
    diese funktioniert wunderbar bei 16bpp, hier kann ich mir in einen DWORD ein pixel packen. wie aber geht das unter 24bpp??? ich kann ja ein bitweises "and" bzw. ein "shr" nicht auf 3 bytes(24bit) anwenden, oder?
    andererseits könnte ich natürlich auch die farbkomponenten einzeln behandeln, aber ich kann auch nicht einfach alle drei farbkomponenten nacheinander shiften, weil ich dann ja u.U. einsen "verschlucke". oder ich müßte mir merken welche farbe im niederwertigsten bit ne 1 hat. bah. alles zu umständlich. das muss doch auch elegant gehen oder?? bin nicht so gut in asm...(ich glaub da gibt es ein abgewandeltes "shr", oder??)
    aber vielleicht weiß ja jemand rat

    danke schon mal

    Memger

  • #2
    var<br>
    C: TColor;<br>
    begin<br>
    C := C shr 1;<br>
    C := C and $7F7F7F;<br>
    <br>
    Das haut jeweils das in den anderen Farbanteil geschobene Bit weg. Dann addieren sollte problemlos sein

    Comment


    • #3
      Hi

      http://www.entwickler-forum.de\webx?13@@.ee87467/9

      funktion AlphaBlendX(), wobei Intensity = 128 = 50% zu 50% darstellt.

      Gruß hage

      Comment

      Working...
      X