当前位置:首页 » 操作系统 » 截屏源码

截屏源码

发布时间: 2022-10-03 04:05:54

⑴ 求易语言截图源码!!

第一步:程序---新建----windows易语言模块----确定(模块框架)
第二步:复制你程序的启动窗口或者其他什么窗口的到这个模块框架里面
第三步:把对应的窗口程序集什么的都复制进来
第四步:加入一个子程序,并公开,加入代码 载入 (截图窗口, , 真)
第五步:编译之后就是EC模块了
第六步:不懂HI我

⑵ 恳求易语言指定坐标截图程序源码

.版本 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系统里面自带的命令

⑷ wpf如何截屏

WPF 中一样可以调用 WinForm 的类库的
System.Drawing.dll
System.Windows.Forms.dll

下面给出一个示例:
1、获取主屏幕大小
2、截取屏幕图像
3、保存图像文件

下面代码加入某个按钮的Click事件中

var size = System.Windows.Forms.Screen.PrimaryScreen.Bounds.Size;
var bitmap = new System.Drawing.Bitmap(size.Width, size.Height);

var g = System.Drawing.Graphics.FromImage(bitmap);
g.CopyFromScreen(0, 0, 0, 0, size);
bitmap.Save("C:\\screen.png", System.Drawing.Imaging.ImageFormat.Png);

⑸ 易语言截图源码,可以截全屏游戏的

.版本 2
.支持库 shellEx

.程序集 窗口程序集_启动窗口
.程序集变量 截屏热键

.子程序 __启动窗口_创建完毕

截屏热键 = 注册热键 (取窗口句柄 (), 标签1.取窗口句柄 (), 0, #F1键)

.子程序 _标签1_反馈事件, 整数型
.参数 参数一, 整数型
.参数 参数二, 整数型

.如果真 (截屏热键 = 参数一)
画板1.底图 = 快照 (, , )
.如果真结束

⑹ 如何在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的就没去做测试了。

  • 补充说明:

  1. 利用TakeScreenShotService截图Android手机一般都自带有手机屏幕截图的功能:在手机任何界面(当然手机要是开机点亮状态),通过按组合键,屏幕闪一下,然后咔嚓一声,截图的照片会保存到当前手机的图库中,

  2. 对手机android源码中通过组合键屏幕截图的整个流程有个大体了解了,在改动中熟悉按键的捕获原理,并且清楚调用的截屏函数接口即可。

⑺ Delphi 截图的问题,有代码,请高手帮帮

procere TForm1.GetActiveWndImg;
var C: TCanvas; b: TBitmap; H: HDC; R: TRect; hand: THandle;
p: TPoint;
J: TJpegImage;
m, n: INTEGER;
name: array[0..255] of char;
begin
B := TBitmap.Create;
C := TCanvas.Create;
GetCurSorPos(P); //取得鼠标所在区域坐标
Hand := WindowFromPoint(P); //取得坐标所在窗体句柄
FillChar(name, SizeOf(name), #0); //
GetWindowText(Hand, name, 255); // 取得窗口标题
if name = '' then CopyMemory(@name, PCHAR(inttostr(hand)), Length(inttostr(hand)) + 1); //用句柄
if hand = 0 then exit;
H := GetWindowDC(Hand); //获取整个窗口(包括边框、滚动条、标题栏、菜单等)的设备场景 返回值 Long
try
GetWindowRect(hand, R); //取得句柄对应窗体的矩形区域
B.Width := R.Right - R.Left;
B.Height := R.Bottom - R.Top;
C.Handle := H; //将描述表赋给画布的句柄,此时画布就代表整个屏幕了
B.Canvas.CopyRect(Rect(0, 0, B.Width, B.Height), C, Rect(0, 0, B.Width, B.Height));
//Image1.Picture.Bitmap.Assign(B);
finally
C.Free;
B.Free;
ReleaseDC(Hand, H); //释放设备上下文环境
end;
end;

以前写的一个类似软件 ,应该和你的问题相符,你可以参考一下。

⑻ 用易语言做一个选择区域截屏的软件,求源码,有急用

调用QQ截屏的DLL就可以了
= =

热点内容
php地址正则表达式 发布:2025-05-16 19:44:01 浏览:465
oracle存储过程优点 发布:2025-05-16 19:41:36 浏览:613
无法访问g盘拒绝访问 发布:2025-05-16 19:32:57 浏览:118
阿里云服务器如何把c盘变成d盘 发布:2025-05-16 19:12:36 浏览:496
unix环境高级编程学习 发布:2025-05-16 19:11:49 浏览:421
如何将20的硝酸配置成5的 发布:2025-05-16 19:04:42 浏览:971
怎么给一个文件夹设置时间开锁 发布:2025-05-16 18:58:00 浏览:823
脚本存放目录 发布:2025-05-16 18:57:20 浏览:566
cs16制作脚本 发布:2025-05-16 18:44:25 浏览:444
分油算法 发布:2025-05-16 18:36:19 浏览:691