Asides

WinForm多线程及委托防止界面假死

当有大量数据需要计算、显示在界面或者调用sleep函数时,容易导致界面卡死,可以采用多线程加委托的方法解决。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace WindowsFormsApplication1
{
public partial class FormMain : Form
{
DataTable table;
int currentIndex = 0;
int max = 10000;
public FormMain()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
Thread thread = new Thread(new ThreadStart(LoadData));
thread.IsBackground = true;
thread.Start();

progressBar1.Minimum = 0;
progressBar1.Maximum = max;
}
private void LoadData()
{
SetLableText("数据加载中…");
currentIndex = 0;
table = new DataTable();
table.Columns.Add("id");
table.Columns.Add("name");
table.Columns.Add("age");
while (currentIndex < max)
{
SetLableText(string.Format("当前行:{0},剩余量:{1},完成比例:{2}%", currentIndex, max – currentIndex,
(Convert.ToDecimal(currentIndex) / Convert.ToDecimal(max) * 100).ToString("f0")));
SetPbValue(currentIndex);
DataRow dr = table.NewRow();
dr["id"] = currentIndex;
string name = "张三";
dr["name"] = name;
dr["age"] = currentIndex + 5;
table.Rows.Add(dr);
currentIndex++;
}
SetDgvDataSource(table);
SetLableText("数据加载完成!");

this.BeginInvoke(new MethodInvoker(delegate()
{
button1.Enabled = true;
}));
}
delegate void labDelegate(string str);
private void SetLableText(string str)
{
if (label1.InvokeRequired)
{
Invoke(new labDelegate(SetLableText), new string[] { str });
}
else
{
label1.Text = str;
}
}
delegate void dgvDelegate(DataTable table);
private void SetDgvDataSource(DataTable table)
{
if (dataGridView1.InvokeRequired)
{
Invoke(new dgvDelegate(SetDgvDataSource), new object[] { table });
}
else
{
dataGridView1.DataSource = table;
}
}
delegate void pbDelegate(int value);
private void SetPbValue(int value)
{
if (progressBar1.InvokeRequired)
{
Invoke(new pbDelegate(SetPbValue), new object[] { value });
}
else
{
progressBar1.Value = value;
}
}
}
}

运行效果图:

}<br>运行效果图:

 

from:http://www.csharpwin.com/csharpspace/13450r130.shtml

 

解决wordpress中文标签tag翻页404错误问题

前面有一篇文章已经介绍过中文标签打开404错误的解决方法《解决中文标签打不开404错误问题》,这个只能解决中文标签的问题,当同一个标签中文章较多的时候,就存在标签页面分页的问题了,发现如果仅按照上文的方法修改,标签页面分也无法正常打开,同样会有404错误的问题,下面提供几种方法解决标签tag页面中文分页404错误问题。

注意:别用windows自带的记事本修改(推荐UltraEdit,Dreamweaver,notepad++等)。


 

1、如果你已经修改过wp-includes目录中的classes.php,可以正常访问中文标签。

代码的140行左右,将

  1. $pathinfo = $_SERVER[‘PATH_INFO’];

替换为:

  1. $pathinfo = mb_convert_encoding($_SERVER[‘PATH_INFO’], “UTF-8″, “GBK”);

  1. $req_uri = $_SERVER[‘REQUEST_URI’];

替换为:

  1. $req_uri = mb_convert_encoding($_SERVER[‘REQUEST_URI’], “UTF-8″, “GBK”);

那么下面你只需要修改wp-includes目录中的link-template.php文件的(1425行左右)

  1. $result = $base . $request . $query_string;

替换为

  1. $result = $base . mb_convert_encoding($request, ‘UTF-8‘, ‘GBK’) . $query_string;

这种方式替换后的tag翻页里面含有中文,不符合url标准,不太利于搜索引擎收录,建议采用下面方法解决。


 

2、如果你什么都未修改,现在还无法访问中文标签tag。

可以通过安装插件iis-chinese-tag-permalink解决这个问题。

iis-chinese-tag-permalink下载地址:http://wordpress.org/extend/plugins/iis-chinese-tag-permalink/

这个插件函数很少只有几个替换函数而已,不会占用太多资源,如果你不想用插件,可以下载后把插件里面的几个函数拷贝到主题目录的functions.php中,本博就是采用这种方式。

 

from:http://www.52qingyin.cn/chinese-tag-page-problem.html

【探索】自动报警的验证码

前言

最近 12306 换了套新验证码,又一次引发吐槽。

虽然图片组合的方式仍有不少争议,但无论如何能尝试突破传统,都是值得称赞的。

毕竟传统的验证码已饱受诟病了。为了对抗少数恶意用户,却降低了绝大部分正常人的用户体验。

每当无聊时,就会遐想各种验证码的方案,今天分享一个比较有趣的。

自动报警的密码

曾有传言,在 ATM 机上密码倒着输会自动报警。且不论真实性,就这想法还是有点意思的。

  • 首先,也是最重要的,输入了这个反密码仍能取钱,这满足了劫匪的目的。但同时已悄悄的报警,想必也逃不远了。
  • 其次,这无需引入一个额外的报警密码。多一个就会提升复杂度,增加记错的可能。
  • 最后,即使平时输错,那么正好输成这个报警码的概率也是很低的。(12321 这种回文暂不考虑)

于是密码除了可以用于验证外,还可以在真与假之间建立一个规则,用于隐写额外的信息。

这个特征,是否也可用于验证码呢。

自动报警的验证码

我们得设计一个圈套,让正常用户几乎不会落入,而假人一不小心就会掉进这个陷阱里。

通常情况下,破解验证码的程序都是直接抓取图片中的像素点,然后进行分析。而用户看到的,则是屏幕上最终显示出来的内容。

在绝大多数情况下,这两者都是相同的。但我们也可以让它变得不同,人为的制造一点麻烦出来。

例如,一个内容为 d6xm 的验证码:

这是个再普通不过的验证码,破解几乎毫无压力。不过,这次玩的不再是算法上的对抗了。

我们在页面中某个隐蔽的地方,偷偷插入一个 CSS 规则:

将图片进行 180° 的旋转。这时,呈现在用户眼前的就是这样一个东西了:

内容正好变成了 wx9p!

到底哪个是正确答案呢,就不用说了吧。既然我们考察的是用户,那当然就是眼见为实的了!

但通过抓图识别的假人看来,仍是原始的像素点,并不知道页面中还有这么个小把戏,于是一不小心就中招了。

即使用户偶尔会有输错,但如果能把 wx9p 拼成 d6xm,那也太巧合了,想必还是开挂的可能性比较大吧。

类似输入报警密码仍能取钱,我们也尽量保持这个陷阱足够低调。即使用户提交了 d6xm 也算通过,但后台会悄悄的记录下这一切。

当某个用户达到一定可疑程度时,就可以对其采取相应的措施了。将拦截处理进行延时,以避免过早的进入对抗。

题库模板

当然,上面只是举了个简单的例子。像旋转这样的规则,有着太多的局限。并非所有字符旋转后都有对应的,也不能出现回文字符串。

事实上,还可以尝试更为通用的方法。

前面提到 ATM 取款密码时,若能单独设置一个报警密码,其实也是很好的,只是要多记一条。但在验证码这里,用户是完全透明的,再复杂也是浏览器自动搞定的。

我们尝试在图片里写入两套字符串。一个非常明显,另个则像水印一样暗淡。

正常情况下,后者不仔细观察很难发现。但通过页面中的滤镜,会使两者正好相反:

于是在最终用户眼里,看见的反而是水印的版本。

除了这些,其实有无数多的变化方案。例如事先对图片进行扭曲,渲染时再还原回来,等等。

当然不论怎样,其本质都是一样的。相比传统的单一图像输出,如今还多一个变幻参数,并且位于图片之外的页面里。两者必须相结合,才能渲染出最终的图像。

对于普通的傻瓜式破解程序,这道门槛即可将其原形毕露。为了获得图片最终被应用上的样式,外挂不得不使用浏览器内核对页面进行渲染,取代传统直接抓接口的方式。

于是进入前端脚本对抗阶段。

对抗

对抗是没有标准答案的。如果要有,那就是成本最低的,才能坚持的更久。

传统的验证码出现十多年,已经积累了大量的破解经验,现成的工具和算法随处可得,图像识别进入低成本规模化。在这样形势下,还停留在纯粹的图像上,也难以大幅改进了。

但新增了一个渲染时的变量,情况就变得好转。我们可以使用前端加密混淆技术、以及各种黑魔法,进行对抗。

也许某个外挂在识图领域非常强,但对于页面脚本的了解并不深入。于是,我们就可使用另一个自己熟悉的领域,和传统进行对抗了。

当然,最完美的验证码,就是没有验证码,让页面脚本来进行自我检验。可以参考:《对抗假人 —— 前后端结合的 WAF》。在过去前端技术尚不发达的年代,这套系统无需验证码也能抵挡绝大多数的恶意提交和 cc 攻击。 在如今,比的就是更巧妙的方案了。

无论怎样,总是可以有更低成本的综合方案,来解决实际问题,而非吊死在一棵树上。

惩罚

外挂是永远不会消失的,而且只会越来越先进。我们不能阻止武器的制造者,但能惩罚滥用的人。

任何一个方案都会被破解,是无法长期对抗的。但可以在它的有效期内,尽可能多的揪出开挂用户,并作出惩罚。尤其是实名制的账号,逮到一个就少一个。

这种方案也未免每次都开启,而是时不时的进行抽查,让用户在使用外挂的具有一定的畏惧性,才是最终目标。

from:http://www.cnblogs.com/index-html/p/4357677.html

10套超漂亮的Bootstrap UI KIT(已转Html格式)

我们平时分享过不少的精品UI KIT PSD素材,这些组件虽然很漂亮,但是要转换成HTML网页格式时却不是一件容易的事情,因为UI组件元素很多,如果要转HTML需要不少的时间,而且要精通前端技术。

今天设计达人网整理自pixelkit上的免费UI KIT素材,这些PSD已经转成DIV+CSS格式,可以直接快速的应用在网页上,更棒的是它使用Bootstrap框架编写,最新的HTML5+CSS3技术都有了,所以你绝对不怕过时!

这次分享的组件带有帮助文档,让你使用的时候更得心应手,如果免费版不满足你,可以购买高级版(Premium Version)而且价格十分便宜!好吧,赶快下载和分享给你的朋友们,免费的哦!(打包下载链接在文章底部)

Funky Tunes

这个Funky Tunes组件设计有梦幻般的美丽,适合用在音乐、视频类的APP或网站。

free-bootstrap-ui-kit-1

在线DEMO | 使用文档 | 高级版(付费)

Skinny Frames

这个Skinny Frames使用了扁平化风格设计,适合于网站平台,如果想跟紧潮流,玩玩扁平化,这个组件可以选择哦,而且配色很容易修改,通过在线网页配色工具来换个颜色主题或许会有另一番风景哦!

free-bootstrap-ui-kit-2

在线DEMO | 使用文档 | 高级版(付费)

City Break

这个City Break使用蓝色Web配色,适合用于旅游、酒店、机票等服务类型网站。

free-bootstrap-ui-kit-3

在线DEMO | 使用文档 | 高级版(付费)

Chubby Stacks

前面介绍平面的设计太多了,再回来看看带质感的UI也很不错的,这套绿色风格的Chubby Stacks组件包设计很漂亮,好在已经写好HTML,节省了我们N多时间哇!

free-bootstrap-ui-kit-4

在线DEMO | 使用文档 | 高级版(付费)

Sweet Candy

精美而又可爱的UI设计组件,用在个人博客、网站很不错呢。

free-bootstrap-ui-kit-5

在线DEMO | 使用文档 | 高级版(付费)

Arctic Sunset

free-bootstrap-ui-kit-6

在线DEMO | 使用文档 | 高级版(付费)

Dark Velvet

暗调的UI KIT,就像黑色一样,看上去很有感觉,如果用在网站上,不知道视觉效果会怎样呢?欢迎尝试。

free-bootstrap-ui-kit-7

在线DEMO | 使用文档 | 高级版(付费)

Vanilla Cream

质感和平面,到底哪个最好,其实没有最好,只有更好。(废话)

free-bootstrap-ui-kit-8

在线DEMO | 使用文档 | 高级版(付费)

Metro Vibes

这个UIKIT最早是在Dribbble上看到的,现在已经有HTML版本,实在太棒了!

ui设计

在线DEMO | 使用文档 | 高级版(付费)

Modern Touch

时尚的扁平化设计风格,这个设计除了桌面平台,也十分适合手持设备,另外配色也很赞!Nice!

free-bootstrap-ui-kit-10

在线DEMO | 使用文档 | 高级版(付费)

from:http://www.shejidaren.com/free-bootstrap-ui-kits.html

常用px,pt,em换算表

pt (point,磅)是一个物理长度单位,指的是72分之一英寸。

px (pixel,像素)是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Per Inch,每英寸像素数),在扫描打印时一般都有DPI可选。Windows系统默认是96dpi,Apple系统默认是72dpi。

em(相对长度单位,相对于当前对象内文本的字体尺寸)是一个相对长度单位,最初是指字母M的宽度,故名em。现指的是字符宽度的倍数,用法类似百分比,如:0.8em, 1.2em,2em等。通常1em=16px。

字号:是中文字库中特有的一种单位,以中文代号表示特定的磅值pt,便于记忆、表述。

pt和px的换算公式可以根据pt的定义得出:

pt=1/72(英寸), px=1/dpi(英寸)

因此 pt=px*72/dpi

以Windows下的96dpi来计算,pt=px*72/96=px*3/4

字号 pt px em
初号 42pt 56px 3.5em
小初 36pt 48px 3em
  34pt 45px 2.75em
  32pt 42px 2.55em
  30pt 40px 2.45em
  29pt 38px 2.35em
  28pt 37px 2.3em
  27pt 36px 2.25em
一号 26pt 35px 2.2em
  25pt 34px 2.125em
小一 24pt 32px 2em
二号 22pt 29px 1.8em
  20pt 26px 1.6em
小二 18pt 24px 1.5em
  17pt 23px 1.45em
三号 16pt 22px 1.4em
小三 15pt 21px 1.3em
  14.5pt 20px 1.25em
四号 14pt 19px 1.2em
  13.5pt 18px 1.125em
  13pt 17px 1.05em
小四 12pt 16px 1em
  11pt 15px 0.95em
五号 10.5pt 14px 0.875em
  10pt 13px 0.8em
小五 9pt 12px 0.75em
  8pt 11px 0.7em
六号 7.5pt 10px 0.625em
  7pt 9px 0.55em
小六 6.5pt 8px 0.5em
七号 5.5pt 7px 0.4375em
八号 5pt 6px 0.375em

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转换工具(源码)点此下载

from:http://www.cnblogs.com/zhangpengshou/archive/2012/08/04/2623061.html

utf8_unicode_ci与utf8_general_ci的区别

当前,utf8_unicode_ci校对规则仅部分支持Unicode校对规则算法。一些字符还是不能支持。并且,不能完全支持组合的记号。这主要影响越南和俄罗斯的一些少数民族语言,如:Udmurt 、Tatar、Bashkir和Mari。

utf8_unicode_ci的最主要的特色是支持扩展,即当把一个字母看作与其它字母组合相等时。例如,在德语和一些其它语言中‘ß’等于‘ss’。

utf8_general_ci是一个遗留的 校对规则,不支持扩展。它仅能够在字符之间进行逐个比较。这意味着utf8_general_ci校对规则进行的比较速度很快,但是与使用utf8_unicode_ci的校对规则相比,比较正确性较差)。

例如,使用utf8_general_ci和utf8_unicode_ci两种 校对规则下面的比较相等:

Ä = A

Ö = O

Ü = U

两种校对规则之间的区别是,对于utf8_general_ci下面的等式成立:

ß = s

但是,对于utf8_unicode_ci下面等式成立:

ß = ss

对于一种语言仅当使用utf8_unicode_ci排序做的不好时,才执行与具体语言相关的utf8字符集 校对规则。例如,对于德语和法语,utf8_unicode_ci工作的很好,因此不再需要为这两种语言创建特殊的utf8校对规则。

utf8_general_ci也适用与德语和法语,除了‘ß’等于‘s’,而不是‘ss’之外。如果你的应用能够接受这些,那么应该使用utf8_general_ci,因为它速度快。否则,使用utf8_unicode_ci,因为它比较准确。

from:http://www.chinaz.com/program/2010/0225/107151.shtml

用transform缩放页面示例

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1, user-scalable=no">
<title>测试页面</title>
<style type="text/css">
div {
width: 600px;
text-align: center;
font-size: 4em;
color: #333;
}
</style>
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.0.js"></script>
<script type="text/javascript">
$(function() {
var r = document.body.offsetWidth / window.screen.availWidth;
$(document.body).css("-webkit-transform","scale(" + r + ")");
$(document.body).css("transform","scale(" + r + ")");
});
$(window).resize(function() {
var r = document.body.offsetWidth / window.screen.availWidth;
$(document.body).css("-webkit-transform","scale(" + r + ")");
$(document.body).css("transform","scale(" + r + ")");
});
</script>
</head>
<body style="height: auto; -webkit-transform-origin: 0px 0px; -webkit-transform: scale(1);transform-origin: 0px 0px; transform: scale(1); ">
<div>改变窗口大小试试,你会发现什么?</div>
</body>
</html>

html5中让页面缩放的4种方法

1.viewport
这种方法,不是所有的浏览器都兼容
<meta name="viewport" content="width=640,minimum-scale=0.5,maximum-scale=1.0,user-scalable=no, initial-scale=1.0" />
2.百分比
这种方法,可以兼容大部分浏览器,但是修改幅度比较大
.main .login .txt1{margin-top:8.59375%; position:relative;}
3.css transform
这种方法,可以兼容大部分浏览器,但是页面的位置是居中的
.w320
{
transform: scale(1,1);
-ms-transform: scale(1,1); /* IE 9 */
-webkit-transform: scale(0.8,0.8); /* Safari and Chrome */
}
4.使用响应式布局,但是这样的话得做两个两套界面
<link rel=“stylesheet” type=“text/css” media=“only screen and (max-width: 480px),only screen and (max-device-width: 480px)” href=“link.css”/>

建议使用第2,4种

from:http://blog.chinaunix.net/uid-11121450-id-3957237.html

css实现缩放自适应网页

一. 允许网页宽度自动调整

"自适应网页设计"到底是怎么做到的?其实并不难。 首先,在网页代码的头部,加入一行viewport元标签:

<meta name="viewport" content="width=device-width, initial-scale=1" />
viewport是网页默认的宽度和高度,上面这行代码的意思是,网页宽度默认等于屏幕宽度(width=device-width),原始缩放比 例(initial-scale=1)为1.0,即网页初始大小占屏幕面积的100%。 对于viewport属性,我是真正在接触移动web开发是才遇到的,一把的ps布局都是固定的960px,1000px这种。
下面三篇文章是对viewport属性详细的解释: Viewport(视区概念)——pc端的理解 Viewport(视区概念)——移动端的应用 viewport ——视区概念(转) 对于老式IE6,7,8浏览器需要js处理,由于主要平台是ios和安卓,所有可以暂时不考虑。
二. 不使用绝对宽度 由于网页会根据屏幕宽度调整布局,所以不能使用绝对宽度的布局,也不能使用具有绝对宽度的元素。
这一条非常重要。 具体说,CSS代码不能指定像素宽度: width:xxx px; 只能指定百分比宽度: width: xx%; 或者:width:auto; 这里开发是指一个网页不仅能用在ps上,也能同时用于移动端,但是对于webapp这种还是需要单独做一个webapp使用的页面。
对于这个知识点,对于我目前做的项目有用处,主要用于控制限定数据库里读出来的图片宽度。 详见:手机webapp的jquery mobile初次使用心得和解决图片自适应大小问题。
三. 相对大小的字体 字体也不能使用绝对大小(px),而只能使用相对大小(em)。
body { font: normal 100% Helvetica, Arial, sans-serif; }
上面的代码指定,字体大小是页面默认大小的100%,即16像素。
h1 { font-size: 1.5em; }
然后,h1的大小是默认大小的1.5倍,即24像素(24/16=1.5)。
small { font-size: 0.875em; }
small元素的大小是默认大小的0.875倍,即14像素(14/16=0.875)。
四. 流动布局(fluid grid) "流动布局"的含义是,各个区块的位置都是浮动的,不是固定不变的。  
.main { float: right; width: 70%; } .leftBar { float: left; width: 25%; }
float的好处是,如果宽度太小,放不下两个元素,后面的元素会自动滚动到前面元素的下方,不会在水平方向overflow(溢出),避免了水平滚动条的出现。 另外,绝对定位(position: absolute)的使用,也要非常小心。
五. "自适应网页设计"的核心,就是CSS3引入的Media Query模块。

它的意思就是,自动探测屏幕宽度,然后加载相应的CSS文件。
<</span>link rel="stylesheet" type="text/css" media="screen and (max-device-width: 400px)" href="tinyScreen.css" />
上面的代码意思是,如果屏幕宽度小于400像素(max-device-width: 400px),就加载tinyScreen.css文件。
<</span>link rel="stylesheet" type="text/css" media="screen and (min-width: 400px) and (max-device-width: 600px)" href="smallScreen.css" />
如果屏幕宽度在400像素到600像素之间,则加载smallScreen.css文件。 除了用html标签加载CSS文件,还可以在现有CSS文件中加载。
@import url("tinyScreen.css") screen and (max-device-width: 400px);
六. CSS的@media规则 同一个CSS文件中,也可以根据不同的屏幕分辨率,选择应用不同的CSS规则。
@media screen and (max-device-width: 400px) { .column { float: none; width:auto; } #sidebar { display:none; } }
上面的代码意思是,如果屏幕宽度小于400像素,则column块取消浮动(float:none)、宽度自动调节(width:auto),sidebar块不显示(display:none)。
七. 图片的自适应(fluid image) 除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。

这只要一行CSS代码:
img { max-width: 100%;} 这行代码对于大多数嵌入网页的视频也有效,所以可以写成:
img, object { max-width: 100%;}
老版本的IE不支持max-width,
所以只好写成: img { width: 100%; }
此外,windows平台缩放图片时,可能出现图像失真现象。这时,可以尝试使用IE的专有命令:
img { -ms-interpolation-mode: bicubic; } 或者,Ethan Marcotte的imgSizer.js。 addLoadEvent(function() { var imgs = document.getElementById("content").getElementsByTagName_r("img"); imgSizer.collate(imgs); });
不过,有条件的话,最好还是根据不同大小的屏幕,加载不同分辨率的图片。有很多方法可以做到这一条,服务器端和客户端都可以实现。

from:http://blog.sina.com.cn/s/blog_7963110a0101hflc.html

10 款免费的 Mac 屏幕录制工具

有些教程使用文字和图像是远远不够的,需要一些简单的视频实例说明。当我们不需要非常强大的功能的时候,免费的 Mac 屏幕录制工具就能发挥它的作用,给我们带来便利。

这里我们介绍 10 款免费的 Mac 屏幕录制工具。这些工具肯定能给大家带来一定的便利,而且能满足大家一些基础的录制要求,同时也会有一部分的限制,比如水印和录制时长。但是这足以帮助大 家录制高质量的视频,如果有什么使用心得,或者有其他更好的屏幕录制工具可以在评论跟大家分享哦:)

10. Screen Recorder Robot Lite

10. Screen Recorder Robot Lite

这是非常简单的一款屏幕录制应用,可以在 Apple 应用商店下载。Screen Recorder Robot Lite 允许用户选择屏幕的任意部分,然后进行录制,但是录制时间只有 200 秒(3 分钟又 20 秒).用户可以使用视频编辑软件来合并不同时段的视频,达到想要的效果。

9. Apowersoft Screen Recorder

9. Apowersoft Screen Recorder

这是款非常流行的屏幕录制应用,也是非常强大一款应用。Apowersoft 不仅能录制屏幕还能录制音频,包括麦克风和系统声音。Apowersoft 很方便使用,用户选择好录制的范围(整个屏幕或者指定的某个部分),点击录制按钮就可以开始录制了。同样的,录制时长也是比较短,只有 3 分钟,并且带有一个水印。但是有许多其他软件可以弥补这两个问题,也能很好的录制高质量的屏幕录像。

8. Monosnap

8. Monosnap

Droplr 曾经一段时间是免费的,提供大量非常强大的特性,但是现在是收费软件,所以自然是不在我们要介绍的列表中。但是,Monosnap 是一个可以与 Droplr 相媲美的应用,甚至比 Droplr 更强大。因为 Monosnap 是免费使用的,提供内置图像编辑,屏幕录制(duh),可以选择上传文件到服务器(一般屏幕录制软件不提供这个选项)。

7. QuickTime

7. QuickTime

Macs 或者苹果的任意计算机设备都配备了 QuickTime,可以用来录制视频。用户只需要选择文件和录制新视频。如果用户使用 iMovie 来工作,那么这是款非常好的工具,虽然没有其他屏幕录制工具那么多功能,但是不会遇到任何的格式困扰。但是如果使用的是其他视频编辑软件,那么会遇到一定 的困难。所以,有一定的局限性。 但是也能满足屏幕录制的需求。

6. Copernicus

用户可以使用 Copernicus 来捕获部分屏幕或者是整个屏幕,无论是多么花哨的画面都可以录制的很好。用户可以设置帧速率,可以预览之前录制的视频。Copernicus 唯一的缺点是不能记录音频,而且只能保存为单个格式的视频。

5. Capture Me

5. Capture Me

Capture Me 是完全免费的应用,可以记录 Mac 屏幕。Capture Me 提供一个浮动的捕获窗口,用户可以录制短视频。用户可以捕获指定大小的屏幕,可以把捕获结果保存为  jpeg, tiff, jpeg 2000, png 和 giff 格式,甚至可以使用这个录制 MPEG-4 视频,但是这些录制的时间都比较短。

4. Jing

4. Jing

Jing 提供基础的屏幕捕获和录制,还有其他更强大的特性。用户可以使用文本框来编辑截图,或者高亮某个截图区域。这对于录制教程来说是非常有用的。Jing 的不足之处就是每个视频只能录制 5 分钟。但是这个问题也比较容易解决,同样可以满足基础的录制屏幕的需求。

3. iShowU HD

3. iShowU HD

iShow HD 是个免费的应用,目前更新到可以录制 3D 视频。从名字我们知道,可以录制 HD 视频。iShow HD 集成Final Cut Pro,也可以捕获音频。

2. QuickCast

2. QuickCast

QuickCast 是非常特别的应用,可以快速的进行屏幕的录制和分享。唯一的问题就是录制时长,只能录制 3 分钟及以下的时间。用户可以使用外部音频录制软件来捕获声音,可以在视频中内置相机。用户把录制结果存储在 QuickCast 账户就可以轻松跟其他人分享。QuickCast 能录制用户指定的屏幕部分,所以功能也是很强大的。

1. Any Screen Recorder Pro

1. Any Screen Recorder Pro

Any Screen Recorder Pro 是 Mac 屏幕录制工具,可以同时录制音频和视频,也可以直接在 YouTube 或者其他在线视频六网站录制。用户可以指定录制的位置和大小。这款工具的功能非常强大,建议大家下载来试试:)

via  dizyne.net

from:http://www.oschina.net/news/52931/10-free-mac-screen-recording-tools