博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android实例-程序界面内截取屏幕(XE8+小米2)
阅读量:7230 次
发布时间:2019-06-29

本文共 1699 字,大约阅读时间需要 5 分钟。

 

结果:

1.只能截取程序界面内的图片。

2.图片有点不清楚,自己设置清楚度。

 

实例代码:

1 unit Unit1; 2  3 interface 4  5 uses 6   System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, 7   FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, 8   FMX.Controls.Presentation, FMX.StdCtrls, FMX.Objects, FMX.Layouts; 9 10 type11   TForm1 = class(TForm)12     Label1: TLabel;13     Button1: TButton;14     Image1: TImage;15     Layout1: TLayout;16     procedure Button1Click(Sender: TObject);17   private18     {
Private declarations }19 public20 {
Public declarations }21 end;22 23 var24 Form1: TForm1;25 26 implementation27 uses28 FMX.Platform; //需要引入29 {
$R *.fmx}30 {
$R *.NmXhdpiPh.fmx ANDROID}31 32 function MakeScaleScreenshot(Sender: TControl): TBitmap;//截取屏幕函数33 var34 fScreenScale: Single;35 function GetScreenScale: Single;36 var37 ScreenService: IFMXScreenService;38 begin39 Result := 1;40 if TPlatformServices.Current.SupportsPlatformService(IFMXScreenService, IInterface(ScreenService)) then41 begin42 Result := ScreenService.GetScreenScale;43 end;44 end;45 begin46 fScreenScale := GetScreenScale;47 Result := TBitmap.Create(Round(Sender.Width * fScreenScale), Round(Sender.Height * fScreenScale));48 Result.Clear(0);49 if Result.Canvas.BeginScene then50 try51 Sender.PaintTo(Result.Canvas, RectF(0, 0, Result.Width, Result.Height));52 finally53 Result.Canvas.EndScene;54 end;55 end;56 57 procedure TForm1.Button1Click(Sender: TObject);58 var59 oBitmap: TBitmap;60 begin61 oBitmap := MakeScaleScreenshot(Layout1);//此处Layout1为所有容器的容器62 Image1.Bitmap.Assign(oBitmap);63 oBitmap.DisposeOf;64 end;65 66 end.

 

转载地址:http://lfdfm.baihongyu.com/

你可能感兴趣的文章
puppet介绍及基于httpd实例部署
查看>>
UML常用工具之三--RSA
查看>>
iis7 appcmd的基础命令及简单用法
查看>>
用脚本实现移动某目录下文件名符合指定规则的文件到另一个目录的功能
查看>>
关于SQL镜像配置报错
查看>>
终于找到解决方案了,Qt的Model/View Framework解析
查看>>
线程信息的获取和设置
查看>>
Databricks Scala 编程风格指南
查看>>
Tkinter,label内容随多选框变化
查看>>
PHP开发中的数据类型 ( 第3篇 ) :Heaps
查看>>
网络七层协议
查看>>
4种删除Word空白页的小技巧,都是你需要用到的!
查看>>
单服务器MySQL主从复制实践
查看>>
CentOS 7 root口令恢复
查看>>
| 刘知远:让计算机听懂人话
查看>>
苹果收购初创公司Tueo Health,哮喘监测或将应用到Apple Watch
查看>>
CLR存储过程
查看>>
初级运维(一)
查看>>
C语言字符串常用函数学习(一)
查看>>
Lync Server 2010部署与应用(三)---拓扑生成与发布
查看>>