AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Denkfehler bei TransparentStretchBlt
Thema durchsuchen
Ansicht
Themen-Optionen

Denkfehler bei TransparentStretchBlt

Ein Thema von TiGü · begonnen am 2. Jan 2012 · letzter Beitrag vom 3. Jan 2012
 
TiGü

Registriert seit: 6. Apr 2011
Ort: Berlin
3.071 Beiträge
 
Delphi 10.4 Sydney
 
#1

Denkfehler bei TransparentStretchBlt

  Alt 2. Jan 2012, 16:08
Hallo miteinander,

irgendwie ist nach dem Jahreswechsel der Denkapparat noch nicht ganz auf Hochtouren.
Es geht um folgende selbstgeschriebende Prozedur:

Delphi-Quellcode:
  procedure TransparentStretch(const Source, Destination : TBitmap);
  var
    TmpBmp : TBitmap;
  begin
    TmpBmp := TBitmap.Create;
    try
      TmpBmp.Width := Destination.Width;
      TmpBmp.Height := Destination.Height;

      SetStretchBltMode(TmpBmp.Canvas.Handle, HALFTONE);

      if TransparentStretchBlt(
                                TmpBmp.Canvas.Handle, 0, 0, TmpBmp.Width, TmpBmp.Height,
                                Source.Canvas.Handle, 0, 0, Source.Width, Source.Height,
                                Source.Canvas.Handle, 0, 0) then
      begin
        Destination.Assign(TmpBmp);
      end;
    finally
      TmpBmp.Free;
    end;
  end;
Destination ist in meinen Beispiel einfach ein rotes Bitmap und Source ein sehr viel kleineres schachbrettartiges Muster in Schwarz/Weiss.
Nun hätte ich gern, das am Ende ein roter Hintergrund mit schwarzen Kästchen rauskommt.
Leider sorgt das Aufrufen der Funktion nur für ein Umschalten und stretchen des Schachbrett-Musters, also als hätte man StretchBlt angewendet.

Ideen, Vorschläge, (Teil-)Lösungen?
Angehängte Grafiken
Dateityp: jpg Hintergrund.jpg (2,6 KB, 10x aufgerufen)
Dateityp: bmp Mask.Bmp (6,2 KB, 9x aufgerufen)
  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 06:52 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