Results 1 to 8 of 8

Thread: Screenshot Button (android)

  1. #1

    Screenshot Button (android)

    Ik dacht even een button bij mijn project te plaatsen waarmee ik een Screenshot kan maken zodat ik plaatjes heb van de werking en de problemen die nog in het te testen project zitten.

    Maar ondanks ik veel gevonden heb hierover, heb ik dit nog niet werkend.
    Ik kan doormiddel van 2 knopjes op de GSM een plaatje maken, maar omdat ik met een project bezig ben (navigatie) kan ik dit alleen tijdens het rijden testen, en dan is het gelijktijdig indrukken van deze 2 knopjes niet mogelijk.

    Wie kan hier iets over vertellen ?

  2. #2

  3. #3
    Ik heb er dit van gemaakt:
    Code:
    procedure TForm1.Button4Click(Sender: TObject);
     begin
      if takeScreenshot ('/storage/sdcard0/MMSoft/', 1.0, 50) then Edit1.Text := 'OK';
    end;
    Maar takeScreenshot kan niet gevonden worden, in welke Unit/routine staat deze ?

  4. #4
    Mm, die takeScreenshot kan ik zo 123 ook niet vinden.
    Elke TControl heeft echter wel een MakeScreenshot.
    Delphi Code:
    1. procedure TForm1.Button1Click(Sender: TObject);
    2. var
    3.   B: TBitmap;
    4. begin
    5.   B := Button1.MakeScreenshot;
    6.   B.SaveToFile('filename.bmp');
    7.   B.Free;
    8. end;
    Laat echter nou de TForm niet inherited zijn van TControl maar van TComponent die geen MakeScreenshot heeft

    Je zou een beeldvullend panel kunnen maken en dan de TPanel.MakeScreenshot kunnen doen.

    Anders zul je één van de standaard screenshot methodes moeten gebruiken.
    Misschien met zoiets:
    http://www.fmxexpress.com/create-dev...droid-and-ios/

    Of in plaats van een TPanel een TLayout (ik weet nog niet of je die sowieso altijd moet gebruiken, die TLayout).
    Delphi Code:
    1. procedure Capture;
    2. var
    3.   B : TBitmap;
    4. begin
    5.   try
    6.     B := Layout1.MakeScreenshot;
    7.     try
    8.       B.SaveToFile('filename.png'); // kan dat? direct als png?
    9.     finally
    10.       B.Free;
    11.     end;
    12.   except
    13.     on E:Exception do
    14.       ShowMessage( E.Message );
    15.   end;
    16. end;

  5. #5
    Ik krijg al meteen een fout melding bij:

    var
    B : TBitmap;

    Welke Unit heb ik daarvoor nodig ?

  6. #6
    FMX.Objects geloof ik.
    Kun je zien als je op F1 drukt.

  7. #7
    Quote Originally Posted by rvk View Post
    FMX.Objects geloof ik.
    Kun je zien als je op F1 drukt.
    O nee, FMX.Graphics.
    http://docwiki.embarcadero.com/Libra...aphics.TBitmap

  8. #8
    Ik gebuik een ScaledLayout, waar alle onderdelen opstaan

    Code:
    procedure TForm1.Button4Click(Sender: TObject);
    var
     B : TBitmap;
    begin
      try
        B := ScaledLayout1.MakeScreenshot;
        try
          B.SaveToFile( '/storage/sdcard0/MMSoft/' + DateToStr(Date) + ' ' + TimeToStr(Time) + '.png');
        finally
          B.Free;
       end;
      except
       on E:Exception do ShowMessage( E.Message );
      end;
    end;
    Dit werkt !
    Nog even gewijzigd dat ieder bestand een unieke naam krijgt.

    Bedankt voor je hulp !
    Last edited by MMSoft; 15-Oct-16 at 18:30.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •