㈠ 恳求易语言指定坐标截图程序源码
.版本 2
.支持库 eImgConverter
.程序集 窗口程序集1
.子程序 __启动窗口_创建完毕
.局部变量 图片, 字节集
.局部变量 文件名, 文本型
.局部变量 文件号, 整数型
画板1.底图 = 快照 (, , )
画板1.复制 (0, 0, 526, 395, 画板2, 0, 0, ) ' 宽度自己定,高度也自己定。
图片 = 画板2.取图片 (, )
.判断开始 (读配置项 (取运行目录 () + “\截图配置.ini”, “保存时”, “文件号”, ) = “”)
文件号 = 1
.判断 (读配置项 (取运行目录 () + “\截图配置.ini”, “保存时”, “文件号”, ) ≠ “”)
文件号 = 到整数 (读配置项 (取运行目录 () + “\截图配置.ini”, “保存时”, “文件号”, )) + 1
.默认
.判断结束
文件名 = “jietu” + 到文本 (文件号) + “.jpg”
写到文件 (取运行目录 () + “\” + 文件名, 图片)
转换到JPG (取运行目录 () + “\” + 文件名, 取运行目录 () + “\” + 文件名, 假, 100, 真, 0)
写配置项 (取运行目录 () + “\截图配置.ini”, “保存时”, “文件号”, 到文本 (文件号))
销毁 ()
前面的写配置项是为了记录截图次数,防止文件名重复。
文件存放的路径可以自己定。
记得启动窗口中要放两个足够大的画板,画板2的宽度和高度要和截图的高、宽度相同,两个画板都要 自动重画=真 ,启动窗口要 可视=假 画面才流畅。
还有要记得添加支持库:图像格式转换支持库。
㈡ 如何在android里面使用代码截屏
回答:Android SDK的截屏
方法步骤:如下
方法一:
(1)主要就是利用SDK提供的View.getDrawingCache()方法。网上已经有很多的实例了。首先创建一个android project,然后进行Layout,画一个按键
HelloAndroid.java实现代码为:packagecom.example.helloandroid;
这个代码会在按下app中按键的时候自动在手机的/sdcard/目录下生成一个时间戳命名的png截屏文件。
这种截屏有一个问题,就是只能截到一部分,比如电池指示部分就截不出来了。
(2)在APK中调用“adb shell screencap -pfilepath” 命令
该命令读取系统的framebuffer,需要获得系统权限:
(1). 在AndroidManifest.xml文件中添加
(2). 修改APK为系统权限,将APK放到源码中编译,
(3).利用系统的API,实现Screenshot,这部分代码是系统隐藏的,需要在源码下编译,
1).修改Android.mk, 添加系统权限
LOCAL_CERTIFICATE := platform
2).修改AndroidManifest.xml 文件,添加
权限
方法二:
Android ddmlib进行截屏
Android本地编程(Native Programming)读取framebuffer
(1)命令行,框架的截屏功能是通过framebuffer来实现的,所以我们先来介绍一下framebuffer。
Linux FrameBuffer 本质上只是提供了对图形设备的硬件抽象,在开发者看来,FrameBuffer 是一块显示缓存,往显示缓存中写入特定格式的数据就意味着向屏幕输出内容。所以说FrameBuffer就是一块白板。例如对于初始化为16 位色的FrameBuffer 来说, FrameBuffer中的两个字节代表屏幕上一个点,从上到下,从左至右,屏幕位置与内存地址是顺序的线性关系。帧缓存有个地址,是在内存里。我们通过不停的向frame buffer中写入数据, 显示控制器就自动的从frame buffer中取数据并显示出来。全部的图形都共享内存中同一个帧缓存。
方法三:Android截屏实现思路
Android系统是基于Linux内核的,所以也存在framebuffer这个设备,我们要实现截屏的话只要能获取到framebuffer中的数据,然后把数据转换成图片就可以了,android中的framebuffer数据是存放在 /dev/graphics/fb0 文件中的,所以我们只需要来获取这个文件的数据就可以得到当前屏幕的内容。
现在我们的测试代码运行时候是通过RC(remote controller)方式来运行被测应用的,那就需要在PC机上来访问模拟器或者真机上的framebuffer数据,这个的话可以通过android的ADB命令来实现。
注意:
1、需要在AndroidManifest.xml中加入代码:android:sharedUserId="android.uid.system"。
2、由于调用了@hide的API,所以编译得时候请使用makefile编译。或者通过在Eclipse中添加Jar文件通过编译。
3、此代码只在Android4.0中使用过,2.3的就没去做测试了。
补充说明:
利用TakeScreenShotService截图Android手机一般都自带有手机屏幕截图的功能:在手机任何界面(当然手机要是开机点亮状态),通过按组合键,屏幕闪一下,然后咔嚓一声,截图的照片会保存到当前手机的图库中,
对手机android源码中通过组合键屏幕截图的整个流程有个大体了解了,在改动中熟悉按键的捕获原理,并且清楚调用的截屏函数接口即可。
㈢ 用易语言写全屏截图保存为jpg文件,要源码。
.版本 2
.支持库友扮锋 eAPI
.子程序 __启动窗缺虚口_创建完毕
截取好晌屏幕区域 (, 0, “C:\123.jpg”)
自动将当前屏幕作为图片保存到C盘根目录,文件名叫123.jpg