寻求总有一款适合你我的截图工具,大家请帮忙

谁能教下我写出一款固定坐标截图的截图软件呢_易语言吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
关注:151,138贴子:
谁能教下我写出一款固定坐标截图的截图软件呢收藏
今天自己下载了易语言,想做出一个截图软件,因为没人教,只好自己看课程,研究了一天,还是没头绪,只能做出全屏截图软件。我要的截图软件就是能按一下热键就能截固定坐标、像素的,比如说按下F1键,就截屏幕中间大小为300X400的图片。请问各位大大,这个应该怎么写才能达到我的需求呢?谢谢
喵~我有个很逗比的方法直接弄一个无边框的窗口,置顶,取屏幕宽度和高度作为此窗口的宽度高度,然后载入的时候可视为假
对了最好是弄个画板在上面,和窗口大小一致然后当触发截图事件时,先取快照,然后窗口可视设为真,把图片放到画板上面去,使用写图片()命令(好像是这个)来获取指定范围
超级模块有这个功能
快照()   --楼主,是这样的,我是打酱油的,我觉得海天酱油不错。楼主怎么看?
我有QQ截图DLL
登录百度帐号搜索热词:
& & 红蜻蜓抓图精灵
红蜻蜓抓图精灵
免费的专业级屏幕捕捉软件。专注于屏幕抓图,体积小巧,虽然安装包只有2M大小,完全满足抓图的不同需要,Javascript网页截屏的方法 – WEB骇客
Javascript网页截屏的方法
最近我在研究开发一个火狐插件,具体的功能是将网页内容截屏并分享到微博上。目前基本功能已经实现,大家可以在
里看到用这个截图插件分享的微博的效果。
之前我曾写过和的方法,这些都是在为这个插件做技术准备。
技术路线很清晰,将网页的某个区域的内容生成图像,保持到canvas里,然后将canvas内容转换成图片,保存到本地,最后上传到微博。
我在网上搜寻到这个能将指定网页元素内容生成canvas图像的javascript工具。这个js工具的用法很简单,你只需要将它的js文件引入到页面里,然后调用html2canvas()函数:
html2canvas(document.body, {
onrendered: function(canvas) {
/* canvas is the actual canvas element,
to append it to the page call for example
document.body.appendChild( canvas );
这个html2canvas()函数有个参数,上面的例子里传入的参数是document.body,这会截取整个页面的图像。如果你想只截取一个区域,比如对某个div或某个截图,你就将这个div或某个当做参数传进去。
我最终并没有选用html2canvas这个js工具,因为在我的实验过程中发现它有几个问题。
首先,跨域问题。我举个例子说明这个问题,比如我的网页网址是http://www.webhek.com/about/,而我在这个页面上有个张图片,这个图片并不是来自www.webhek.com域,而是来自CDN图片服务器www.webhek-cdn.com/images/about.jpg,那么,这张图片就和这个网页不是同域,那么html2canvas就无法对这种图片进行截图,如果你的网站的所有图片都放在单独的图片服务器上,那么用html2canvas对整个网页进行截图是就会发现所有图片的地方都是空白。
这个问题也有补救的方法,就是用代理:
&!DOCTYPE html&
&meta charset="utf-8"&
&title&html2canvas php proxy&/title&
&script src="html2canvas.js"&&/script&
//&![CDATA[
(function() {
window.onload = function(){
html2canvas(document.body, {
"logging": true, //Enable log (use Web Console for get Errors and Warnings)
"proxy":"html2canvasproxy.php",
"onrendered": function(canvas) {
var img = new Image();
img.onload = function() {
img.onload =
document.body.appendChild(img);
img.onerror = function() {
img.onerror =
if(window.console.log) {
window.console.log("Not loaded image from canvas.toDataURL");
alert("Not loaded image from canvas.toDataURL");
img.src = canvas.toDataURL("image/png");
&img alt="google maps static" src="http://maps.googleapis.com/maps/api/staticmap?center=40..998672&zoom=12&size=800x600&maptype=roadmap&sensor=false"&
这个方法只能用在你自己的服务器里,如果是对别人的网页截图,还是不行。
试验的过程中还发现用html2canvas截屏出来的图像有时会出现文字重叠的现象。我估计是因为html2canvas在解析页面内容、处理css时不是很完美的原因。
最后,我在火狐浏览器的官方网站上找到了这个方法,这个方法和上面提到html2canvas不同之处在于,它不分析页面元素,它只针对区域,也就是说,它接受的参数是四个数字标志的区域,不论这个区域中什么地方,有没有页面内容。
void drawWindow(
in nsIDOMWindow window,
in float x,
in float y,
in float w,
in float h,
in DOMString bgColor,
in unsigned long flags [optional]
这个原生的JavaScript方法看起来非常的完美,正是我需要的,但这个方法不能使用在普通网页中,因为火狐官方发现这个方法会引起有,在这个bug修复之前,只有具有“Chrome privileges”的代码才能使用这个drawWindow()函数。
虽然有很大的限制,但周折一下还是可以用的,在我开发的火狐addon插件中,main.js就是具有“Chrome privileges”的代码。我在网上发现了一段火狐插件SDK里自带:
var window = require('window/utils').getMostRecentBrowserWindow();
var tab = require('tabs/utils').getActiveTab(window);
var thumbnail = window.document.createElementNS("http://www.w3.org/1999/xhtml", "canvas");
thumbnail.mozOpaque =
window = tab.linkedBrowser.contentW
thumbnail.width = Math.ceil(window.screen.availWidth / 5.75);
var aspectRatio = 0.5625; // 16:9
thumbnail.height = Math.round(thumbnail.width * aspectRatio);
var ctx = thumbnail.getContext("2d");
var snippetWidth = window.innerWidth * .6;
var scale = thumbnail.width / snippetW
ctx.scale(scale, scale);
ctx.drawWindow(window, window.scrollX, window.scrollY, snippetWidth, snippetWidth * aspectRatio, "rgb(255,255,255)");
// thumbnail now represents a thumbnail of the tab
这段代码写的非常清楚,只需要依据它做稍微的修改就能适应自己的需求。
我是第一次接触火狐插件开发,是边学习,边研究,边开发。所以开发速度很慢,这个小小的插件用了整整一周才基本上达到能用的程度。你可以在
微博里看到用它上传的图片效果还是不错的。
先能用,然后使用的过程中慢慢做改进,这是我的软件开发理念。
希望和对火狐插件有兴趣的朋友一起探讨、一起学习。
阅读余下内容
相关文章:你们是我带过最差的一届表情包下载|你们是我带过最差的一届表情包下载__西西软件下载
西西软件园多重安全检测下载网站、值得信赖的软件下载站!
相关软件 /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/ /中文/顶好评:50%踩坏评:50%请简要描述您遇到的错误,我们将尽快予以修正。轮坛转帖HTML方式轮坛转帖UBB方式
50.8M/中文/.9
2.6M/中文/6.5
5.4M/中文/3.5
1.4M/中文/7.6
1.3M/中文/8.2
3.1M/中文/6.6
991KB/中文/5.8
你们是我带过最差的一届表情包是一款非常搞笑有接近真是的班主任口头禅写照,你们是我带过最差的一届,整个学校就你们版最吵等等,很无奈很搞笑,喜欢的朋友赶紧来下载吧!表情包使用方法在该页面直接下载表情包解压表情包包直接使用QQ或者都可以使用表情包预览
安卓官方手机版
IOS官方手机版
你们是我带过最差的一届表情包
下载帮助西西破解版软件均来自互联网, 如有侵犯您的版权, 请与我们联系。该项目未开启捐赠功能,可发送私信通知作者开启
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
已有帐号?
此项目是为了提升国内下载速度的镜像仓库,每日同步一次。
原始仓库:
flamingoIM 是一款高性能、轻量级的即时通讯软件。 目前即时通讯软件实现了如下功能(这里只列举网络相关的功能,其他客户端已经实现的功能不统计在列,请自行发现): 注册 登录 查找好友、查找群 添加好友、添加群 好友列表、群列表、最近会话 单人聊天功能(包括发文字、表情、窗口抖动、离线文件) 群组功能(包括发文字、表情) 群发消息 修改密码 修改个人信息(自定义昵称、签名、个性头像等个人信息) 自动升级功能 客户端还有很多细节功能,比如头像有三种显示模式、好友上线动画、聊天记录、聊天自动回复功能等,有兴趣的同学可以自己探索尝试一下吧,这里就不截图了。 下面介绍一下服务器代码和pc客户端代码的编译与运行环境: flamingo服务器端代码使用cmake + makefile编译,使用了纯C++11开发,运行于linux系统下(我的系统是CentOS7.0),为了支持C++11,你的gcc版本至少要大于4.7,我的版本是4.8.5。另外,使用了数据库,我的数据库版本是5.7.17。服务器代码不仅是一款即时通讯软件的服务器代码,同时也是一款通用的C++11服务器框架。 服务器代码使用方法: 进入程序目录,输入cmake . (注意有一个点号,表示当前目录) 没有错误,输入make 3.最终会产生三个可执行程序,mychatserver、myfilesever和myimgserver。编译完成 部署方法: 简单说明:mysql数据库的用户名为root,密码为空,请根据你自己的需要设置相应的用户名和密码(目前写死在程序中)。mychatserver是聊天服务器,myfileserver是文件服务器,文件服务器负责上传和下载聊天中发送的文件,myimgserver负责上传和下载聊天中的图片。三个服务相互独立,互不影响。聊天服务器监听端口是20000,文件服务器端口是20001,图片服务器端口号是20002,这三个端口供客户端连接,其中聊天端口和客户端是长连接,文件端口和图片可选择长连接或短连接。 第一次运行mychatserver时,如果能顺利连上mysql,mychatserver会自动检测是否存在名为myim的数据库,如果不存在则创建,并新建三张信息表,分别是用户信息表:t_user, 好友关系表t_user_relationship和聊天消息记录表t_chatmsg。第一次启动文件服务器时会创建filecache目录,这个目录用来存储聊天中的聊天图片和离线文件以及客户端升级包。 为了方便查看代码,我用Visual Studio来管理代码,可使用VS打开myserver.sln查看和管理代码。(VS版本必须是VS2013或以上版本) 客户端代码使用方法: 编译: 1.用VS2013打开程序目录下的:Flamingo.sln,你可以使用其他的VS版本,但是至少不低于VS2013,因为客户端代码也使用了大量C++11语法和库,VS2013及以上版本才能较好的支持C++11的语法。 打开的解决方案包括三个项目:Flamingo是即时通讯主程序,CatchScreen是聊天中使用的截图工具,iUpdateAuto是升级功能中用到的解压工具。 用VS2013编译整个解决方法即可,编译成功以后将在Bin目录下生成对应的程序。启动Flamingo.exe注册一个账号就可以开始使用flamingo了。 如果你暂时不想研究服务器代码,但又想使用客户端,你可以连接我的测试服务器,测试服务器地址是: 聊天服务器地址:120.55.94.78 端口号:20000 文件服务器地址:120.55.94.78 端口号:20001 图片服务器地址:120.55.94.78 端口号:20002 你可以在登录界面的网络设置里面进行设置(登录界面右上角最小化按钮左边的一个按钮)。 详情参见: http://blog.csdn.net/analogous_love/article/details/
由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...

flamingo
一款高性能、轻量级的即时通讯软件
目前即时通讯软件实现了如下功能(这里只列举网络相关的功能,其他客户端已经实现的功能不统计在列,请自行发现):
注册
登录
查找好友、查找群
添加好友、添加群
好友列表、群列表、最近会话
单人聊天功能(包括发文字、表情、窗口抖动、离线文件)
群组功能(包括发文字、表情)
群发消息
修改密码
修改个人信息(自定义昵称、签名、个性头像等个人信息)
自动升级功能
断线重连
客户端还有很多细节功能,比如头像有三种显示模式、好友上线动画、聊天记录、聊天自动回复功能等,有兴趣的同学可以自己探索尝试一下吧,这里就不截图了。
下面介绍一下服务器代码和pc客户端代码的编译与运行环境:
flamingo服务器端代码使用cmake + makefile编译,使用了纯C++11开发,运行于linux系统下(我的系统是CentOS7.0),为了支持C++11,你的gcc版本至少要大于4.7,我的版本是4.8.5。另外,使用了数据库,我的数据库版本是5.7.17。服务器代码不仅是一款即时通讯软件的服务器代码,同时也是一款通用的C++11服务器框架。
服务器代码使用方法:
编译方法:


进入程序目录,输入cmake . (注意有一个点号,表示当前目录)


没有错误,输入make
3.最终会产生三个可执行程序,mychatserver、myfilesever和myimgserver。编译完成
部署方法:
简单说明:mysql数据库的用户名为root,密码为空,请根据你自己的需要设置相应的用户名和密码(目前写死在程序中)。mychatserver是聊天服务器,myfileserver是文件服务器,文件服务器负责上传和下载聊天中发送的文件,myimgserver负责上传和下载聊天中的图片。三个服务相互独立,互不影响。聊天服务器监听端口是20000,文件服务器端口是20001,图片服务器端口号是20002,这三个端口供客户端连接,其中聊天端口和客户端是长连接,文件端口和图片可选择长连接或短连接。
第一次运行mychatserver时,如果能顺利连上mysql,mychatserver会自动检测是否存在名为myim的数据库,如果不存在则创建,并新建三张信息表,分别是用户信息表:t_user, 好友关系表t_user_relationship和聊天消息记录表t_chatmsg。第一次启动文件服务器时会创建filecache目录,这个目录用来存储聊天中的聊天图片和离线文件以及客户端升级包。
为了方便查看代码,我用Visual Studio来管理代码,可使用VS打开myserver.sln查看和管理代码。(VS版本必须是VS2013或以上版本)
客户端代码使用方法:
编译:
1.用VS2013打开程序目录下的:Flamingo.sln,你可以使用其他的VS版本,但是至少不低于VS2013,因为客户端代码也使用了大量C++11语法和库,VS2013及以上版本才能较好的支持C++11的语法。


打开的解决方案包括三个项目:Flamingo是即时通讯主程序,CatchScreen是聊天中使用的截图工具,iUpdateAuto是升级功能中用到的解压工具。


用VS2013编译整个解决方法即可,编译成功以后将在Bin目录下生成对应的程序。启动Flamingo.exe注册一个账号就可以开始使用flamingo了。
如果你暂时不想研究服务器代码,但又想使用客户端,你可以连接我的测试服务器,测试服务器地址是:
聊天服务器地址:
120.55.94.78 端口号:20000
聊天服务器监控端口:120.55.94.78 端口号:8888
文件服务器地址:
120.55.94.78 端口号:20001
图片服务器地址:
120.55.94.78 端口号:20002
你可以在登录界面的网络设置里面进行设置(登录界面右上角最小化按钮左边的一个按钮)。


如果有您对我的程序有任何意见或者建议,或者有不错的想法欢迎与我交流。代码中也有些“拿来主义”,另外程序中使用的图片和图标来源于网络,仅供用于学习,请勿用于商业用途,如果不小心侵犯了您的版权,请联系我。
详情参见: 
flamingo的更新日志参见:

Tips
如果您在使用这份代码的过程中遇到任何问题,可以通过我的微信公众号『easyserverdev』与我取得联系,获得帮助,或者加入QQ技术群进行交流:。
正在加载...

我要回帖

更多关于 总有一款适合你 的文章

 

随机推荐