Announcement

Collapse
No announcement yet.

Auf ein Hintergrund Bild ein Bild mit Transparenz

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

  • Auf ein Hintergrund Bild ein Bild mit Transparenz

    Hi,

    jo der Titel sagt schon alles über mein Problem.
    Ich habe in einer TImage ein hintegrundbild auf welches ich ein weiteres Bild malen will, welches aber mit Transparenz gemalt werden soll so das es wie Beispiel aussschaut!
    Attached Files
    Zuletzt editiert von delphinia; 04.05.2007, 12:14.

  • #2
    Moin Delphina,

    Du hast ein Hintergrundbild und willst ein zweites transparent hineinmalen?

    ... löse ich normalerweise so (ist auch ähnlich in einer Tips&Tricks-Sammlung zu Delphi drinnen) - das "Übermalen" passiert auf einem zweiten Bitmap, dass eingeblendet wird:

    uses Windows;

    {------------------------------------------------}
    procedure DeviceAlphaBlend(
    iTarget, iSource: HDC; pRT, pRS: TRect; iAlphaBlend: byte);
    {------------------------------------------------}
    var
    pBF: TBlendfunction;
    begin
    pBF.BlendOp := AC_SRC_OVER;
    pBF.BlendFlags := 0; // AC_SRC_NO_ALPHA;//
    pBF.SourceConstantAlpha := iAlphaBlend;
    pBF.AlphaFormat := 0;
    Windows.AlphaBlend(
    iTarget, pRT.Left, pRT.Top, pRT.Right - pRT.Left, pRT.Bottom - pRT.Top,
    iSource, pRS.Left, pRS.Top, pRS.Right - pRS.Left, pRS.Bottom - pRS.Top,
    pBF);
    end;

    Die Parameter sind Handles zu Bitmaps (z.B. TImage.Canvas.Handle), die Ausschnittt-Rects und der Blend-Factor (byte).

    Gruß,

    Geert

    Comment

    Working...
    X