AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Zwei transparte bilder verbinden.
Thema durchsuchen
Ansicht
Themen-Optionen

Zwei transparte bilder verbinden.

Ein Thema von Karstadt · begonnen am 3. Aug 2006 · letzter Beitrag vom 5. Aug 2006
Antwort Antwort
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#1

Re: Zwei transparte bilder verbinden.

  Alt 3. Aug 2006, 13:59
was für bilder genau?

Du könntest es mit Graphics32 (www.graphics32.org) machen, entweder mit layers, oder indem du einfach das eine auf das andere zeichnest (evtl. musst du da ein paar optionen einschalten).

Ansonsten kannst du das natürlich selber machen:

Delphi-Quellcode:
function Combine(Bottom, Top: TBitmap; alpha: array of Byte): TBitmap;
var btmptr,topptr,resptr: Pointer;
begin
  if length(alpha) < Top.Width * Top.Height then
    raise Exception.Create('nicht genug alpha!');

  Result := TBitmap.Create;
  Result.Width := Bottom.Width;
  Result.Height := Bottom.Height;

  btmptr := Bottom.Scanline[0];
  topptr := Top.Scanline[0];
  resptr := Result.Scanline[0];
  for i := 0 to high(alpha) do
    begin
      resptr^ := CombineColors(btmptr^,topptr^,alpha[i]);

      Inc(btmptr);
      Inc(topptr);
      Inc(resptr);
    end;
end;

function CombineColors(c1,c2: TColor; fac: Byte): TColor;
begin
  Result.Red := Round(c1.Red * (255-fac) / 255 + c2.Red * fac / 255);
  //das selbe für grün und blau, und evtl. muss man das erst mal in einen anderen record pressen, damit die felder verfügbar sind
end;
Keine Garantie auf Fehlerfreiheit, höchstwahrscheinlich muss man da noch einiges umcasten.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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 00:41 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