AGB  ·  Datenschutz  ·  Impressum  







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

Delphi XE8 Maps Marker Generieren

Ein Thema von hewy · begonnen am 18. Mai 2023 · letzter Beitrag vom 24. Mai 2023
 
Alter Mann

Registriert seit: 15. Nov 2003
Ort: Berlin
948 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

AW: Delphi XE8 Maps Marker Generieren

  Alt 21. Mai 2023, 15:27
So, hat ein wenig gedauert:

Delphi-Quellcode:
procedure TForm1.Make_MapPoint;
var
  origin, innerL, midL, midR, lft, tp, rgt, innerR : TPoint;
  radius, hgt : integer;

  BMP : TBitmap;
begin
  radius := 25;
  hgt := 90;
  origin.X := 27;
  origin.Y := 92;
  //control points
  innerL.X := origin.X;
  innerL.Y := origin.Y - (hgt - radius) div 3;
  midL.X := origin.X - radius;
  midL.Y := origin.Y - 2*((hgt - radius) div 3);
  //top circle
  lft.X := origin.X - radius;
  lft.Y := origin.Y - (hgt - radius);
  tp.X := origin.X;
  tp.Y := origin.Y - hgt;
  rgt.X := origin.X + radius;
  rgt.Y := lft.Y;
  //control points
  midR.X := origin.X + radius;
  midR.Y := midL.Y;
  innerR.X := origin.X;
  innerR.Y := innerL.Y;

  BMP := TBitmap.Create;

  with BMP do
  begin
    Width := 55;
    Height := 95;
    with Canvas do
    begin
      Brush.Color := clLime;
      Brush.Style := bsSolid;
      Pen.Color := clBlack;
      Pen.Width := 2;
      FillRect(Rect(0, 0, Width, Height));

      PolyBezier([origin, innerL, midL, lft]);
      Arc(lft.X, tp.Y, rgt.X, rgt.Y + radius, rgt.X, rgt.Y, lft.X, lft.Y);
      PolyBezier([rgt, midR, innerR, origin]);
      Brush.Color := clYellow;
      FloodFill(origin.X, origin.Y - radius, Canvas.Pen.Color, TFillStyle.fsBorder);
    end;
    Transparent:= true;
    TransparentColor := clWhite; // <<-Absichtlich andere Farbe als Brush.Color !!!
  end;

  PaintBox1.Canvas.Draw(2, 2, BMP);

  BMP.TransparentMode := tmAuto;

  PaintBox1.Canvas.Draw(100, 50, BMP);

  BMP.Free;

end;
Siehe auch das Beispiel zu Canvas.Draw.

[Edit]

Was sagt den TMS Maps wie Bilder/Images zugeliefert werden sollen?
Irgendwo muss doch stehen wie das mit dem Transparent gehandhabt wird.
[/Edit]
Angehängte Grafiken
Dateityp: jpg MP_Test.jpg (20,6 KB, 19x aufgerufen)

Geändert von Alter Mann (21. Mai 2023 um 15:50 Uhr)
  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 05:14 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