AGB  ·  Datenschutz  ·  Impressum  







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

XE5 Android Canvas und Bücher

Ein Thema von Iatros · begonnen am 11. Okt 2013 · letzter Beitrag vom 14. Okt 2013
Antwort Antwort
Rudirabbit

Registriert seit: 27. Sep 2006
111 Beiträge
 
#1

AW: XE5 Android Canvas und Bücher

  Alt 14. Okt 2013, 09:52
Der Parameter ist vom Typ Delphi-Referenz durchsuchenTRectF !
stimmt - sorry nicht bemerkt
  Mit Zitat antworten Zitat
Iatros

Registriert seit: 5. Okt 2013
7 Beiträge
 
#2

AW: XE5 Android Canvas und Bücher

  Alt 14. Okt 2013, 14:53
Ok, danke. Bringt zumindest keinen Ferhler - malt aber auch nicht

Ich hab im Entwurf das Bild da rein geladen. Mit rect definier ich doch die Position, an der die Ellipse dann gezeichnet wird. Da ich das direkt im canvas des Image mache müsste er es doch anzeigen ?

Image.Canvas.Brush.Color gibt's nicht. Ich fummel mich da mal durch. Wär nur schön wenn ich zumindest drauf malen könnte.
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.358 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: XE5 Android Canvas und Bücher

  Alt 14. Okt 2013, 15:00
So zeichne ich unter FMX (Win) Rechtecke auf einen Formularcanvas.
Vielleicht findest Du da einen Hinweis...

Delphi-Quellcode:
procedure PaintLayoutRects;
var
  I: Integer;
  iRegion: TssRegion;

  procedure FR(R: TssRect);
  begin
    PaintLayoutCanvas.FillRect(TRectF.Create(R.Left, R.Top, R.Width, R.Height),
      0, 0, [], 1, TCornerType.ctBevel);
  end;

  procedure PF;
  begin
    PaintLayoutCanvas.DrawRect(TRectF.Create(0, 0, PaintLayout.Width,
      PaintLayout.Height), 0, 0, [], 1, TCornerType.ctBevel);
  end;

  procedure PR(R: TssRect);
  begin
    PaintLayoutCanvas.DrawRect(TRectF.Create(R.Left, R.Top, R.Right, R.Bottom),
      0, 0, [], 1, TCornerType.ctBevel);
  end;

begin
  if (not Assigned(PaintLayout)) or (not Assigned(PaintLayoutCanvas)) then
    Exit;

  PaintLayoutCanvas.BeginScene;
  PaintLayoutCanvas.Clear(claWhitesmoke);
  PaintLayoutCanvas.Stroke.Kind := TBrushKind.bkSolid;
  PaintLayoutCanvas.Stroke.Color := claLime;
  PaintLayoutCanvas.StrokeThickness := 1;

  PF;
  for I := 0 to PaintLayout.Regions.Count - 1 do
  begin
    iRegion := PaintLayout.Regions.Items[I];
    PR(iRegion.NewRect);
  end;

  PaintLayoutCanvas.EndScene;
end;


Nachtrag: Ach so, Image ...
Das wird sicherlich ständig neu gezeichnet sobald eine Mausaktion triggert.
Insofern kann es sein, dass Deine Ellipse gezeichnet wird, dann aber sofort das Image (das Bild des Image) wieder neu dargestellt wird.
Auf einen Canvas zu zeichnen ist dem Fall nicht der richtige Weg.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (14. Okt 2013 um 15:05 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


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:59 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