![]() |
Re: Bitmap32 auf ZielBitmap32 malen
Ich könnte es zu Hause mal versuchen (ca. gegen 18:00).
|
Re: Bitmap32 auf ZielBitmap32 malen
Will ja nicht nerven, aber ist
Zitat:
|
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
Schick mir einfach ne PM, wenn Du soweit bist ich sende dir dann alles was du brauchst zu! Viele Grüße Marc |
Re: Bitmap32 auf ZielBitmap32 malen
Zitat:
|
Re: Bitmap32 auf ZielBitmap32 malen
BitBlt ignoriert das "Reserwed"-Byte eines Bitmaps welches bei der GR32 als Alphakanal verwenet wird.
Das sind Altlasten der Windowsvorgänger ni nichts mit Transpatenzen zu schaffen haben "wollten".
Delphi-Quellcode:
... was klappt da jetzt nicht ?
procedure TForm1.FormPaint(Sender: TObject);
var qb1, qb2, qb3, ziel: TBitmap32; begin //Erzeugen und Zeichnen der 3 Quellbitmaps qb1 := TBitmap32.Create; try qb1.Width := 20; qb1.Height := 40; qb1.FillRect(0,0,20,40, clRed32); // Oder // DrawTo(Dst: TBitmap32; DstX, DstY: Integer; const SrcRect: TRect); qb2 := TBitmap32.Create; try qb2.Width := 20; qb2.Height := 40; qb2.FillRect(0,0,20,40, clYellow32); qb3 := TBitmap32.Create; try qb3.Width := 20; qb3.Height := 40; qb3.FillRect(0,0,20,40, clBlue32); //Erzeugen und Zeichnen der Zielbitmap ziel := TBitmap32.Create; try ziel.Width := 60; ziel.Height := 40; //linke Quellbitmap ziel.Draw(0,0 ,qb1); //mittlere Quellbitmap ziel.Draw(qb1.Width,0,qb2); //rechte Quellbitmap ziel.Draw((qb1.Width + qb2.Width),0,qb3); ziel.DrawTo(Self.Canvas.Handle, 10, 10); finally ziel.Free; end; finally qb3.Free; end; finally qb2.Free; end; finally qb1.Free; end; end; |
Re: Bitmap32 auf ZielBitmap32 malen
@turboPASCAL: Vielen Dank für den Hinweis!
|
Re: Bitmap32 auf ZielBitmap32 malen
Hallo Turbo :-)
Naja das drawing klappt nun so wie es sollte nuuuuur (links und rechts die grafiken sind nu nicht mehr transparent) *heul Die linke und rechte Grafik dient eigentlich nur dazu um das Rechteck abzurunden, daher haben diese beiden Grafiken oben sowie unten jeweils einen Transparenten Pixel, der nicht zu sehen sein sollte nur das ist er aber, was ziemlich bescheuert aussieht jetzt, da könnte ich mir die linke un d rechte Grafik direkt sparen und nen Rechtangle malen :-( |
Re: Bitmap32 auf ZielBitmap32 malen
Mach ma 'n Bild btte wie es ist und wie es sein soll.
|
Re: Bitmap32 auf ZielBitmap32 malen
Liste der Anhänge anzeigen (Anzahl: 2)
Zitat:
Ich hoffe man kanns erkennen, bei dem "Sonicht" sind man relativ klein diese dunklen Rechtecke. 4 Stück an der Zahl bei Outleft, OutRight. |
Re: Bitmap32 auf ZielBitmap32 malen
Ich gehe mal davon aus, dass die Maske im PNG hinterlegt ist. Probier mal den DrawMode der Bitmaps auf dmBlend zu setzen.
Wenn das nicht hilft, kann mir gut vorstellen, dass der Tranfer des Alphakanals von der PNG Kompo zum Bitmap32 nicht so geht. In dem Fall wäre es praktisch, wenn man die Maske des PNGs als Bitmap bekommen könnte, da man sie dann mit IntensityToAlpha() den jeweiligen Bitmaps zu Fuß eintrichtern kann. Aber ich tippe zunächst mal auf den DrawMode. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:26 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