![]() |
TBitBtn: Bild skalieren mit BitBlt
Moin,
ich habe gerade das Problem, dass ich ein Bild auf einem BitBtn nicht skaliert bekomme.
Code:
Ich habe auch probiert, das TImage über stretch zu verkleinern, aber das wird ja anscheinend nur anders gezeichnet ohne es wirklich zu verkleinern.
BM = new TImage(Form1);
BM->Picture->Bitmap = BitBtn1->Glyph; BitBlt(BitBtn1->Handle,0,0,Floor(BM->Width/3),Floor(BM->Height/3),BM->Canvas->Handle,0,0,SRCCOPY); Sieht jemand den Fehler? Danke, Messie P.S. gibt es nur noch Codetags für Delphi? |
AW: TBitBtn: Bild skalieren mit BitBlt
Delphi-Quellcode:
var
bmp:TBitmap; begin bmp:=TBitmap.Create; bmp.Width :=trunc(BitBtn1.Glyph.Width/3); bmp.Height := Trunc(BitBtn1.Glyph.Height/3); BitBlt(bmp.Canvas.Handle,0,0,bmp.Width,bmp.Height,BitBtn1.Glyph.Canvas.Handle,0,0,SRCCOPY); BitBtn1.Glyph.Assign(bmp); bmp.Free; end; und die Tags '['delphi']' |
AW: TBitBtn: Bild skalieren mit BitBlt
Es gibt übrigens auch noch die Funktion
![]() |
AW: TBitBtn: Bild skalieren mit BitBlt
Zitat:
Code:
Grüße, Messie
Graphics::TBitmap *BM;
BM = new Graphics::TBitmap; StretchBlt(BM->Canvas->Handle,0,0,Floor(sBitBtn1->Glyph->Width/3),Floor(sBitBtn1->Glyph->Height/3),sBitBtn1->Glyph->Handle,0,0,sBitBtn1->Width,sBitBtn1->Height,SRCCOPY); sBitBtn1->Glyph->Assign(BM); |
AW: TBitBtn: Bild skalieren mit BitBlt
Müsste es nicht sBitBtn1->Glyph->Canvas->Handle heißen?
Außerdem solltest du die Größe von BM vorher auf die gewünschte Größe setzen. |
AW: TBitBtn: Bild skalieren mit BitBlt
Zitat:
Edit: klar, wenn man statt glyph->width BitBtn->Width angibt Grüße, Messie |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:37 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