AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

PNG in Bitmap-Layer laden

Ein Thema von banaguitar · begonnen am 11. Apr 2024 · letzter Beitrag vom 16. Apr 2024
 
Michael II

Registriert seit: 1. Dez 2012
Ort: CH BE Eriswil
772 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: PNG in Bitmap-Layer laden

  Alt 16. Apr 2024, 16:30
Ich würde im FormResize die Grösse anpassen.

Delphi-Quellcode:
var BL:TBitmapLayer;
    origwidth, origheight : integer;
    origbitmap : TBitMap32;
...

procedure TForm1.FormCreate(Sender: TObject);
...

begin
  origwidth := clientwidth;
  origheight := clientheight;
...
  // ich verwende noch eine alte Version von Graphics32 ohne direkte PNG Unterstützung:
  png := TPNGImage.Create;
  png.LoadFromFile( ExtractFilePath(ParamStr(0)) + 'images\next.png' );
  origbitmap.Assign(png);
  BL.bitmap.assign(origbitmap);
...
procedure TForm1.FormResize(Sender: TObject);
var
  Scale: Single;
begin
  if (ClientWidth > 0) and (ClientHeight > 0) then
  begin
    Scale := Min(ClientWidth / origwidth, ClientHeight / origheight );
    bl.Bitmap.SetSize(Round(Origbitmap.Width* Scale), Round(Origbitmap.Height* Scale));
    bl.Bitmap.Draw(bl.Bitmap.BoundsRect, OrigBitMap.BoundsRect, OrigBitMap);
  end;
end;

initialization
origbitmap := TBitMap32.Create;
finalization
origbitmap.Free;
end.
Wenn du mehrere Layers verwendest:
TImage32 -> TLayerCollection
TIMage32 kennt die Eigenschaft Layers. Du kannst Bilder deiner Buttons, Spielkarten, Raumschiffe etc. beim Programmstart laden. Dann hast du via die Layers Zugriff auf die Bitmaps und kannst im FormResize auf einfache Weise alle Bitmaps anpassen. (Wenn du die Layerfunktionalität nicht benötigst: TBitmap32List.)
Michael Gasser
  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 13:06 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