浅析如何用C#.NET做屏幕截图软件以及注册全局快捷键(下)
2010-09-30 22:42:37 来源:WEB开发网在MouseMove事件里面,我们可以检测鼠标的当前位置,然后设置鼠标形状,继而可以实现矩形的拖动以及扩大和缩小。
在此不详赘述了。
关于截图保存,我们可以加个MouseDoubleClick事件。在下面,我是直接从原始图片截取矩形覆盖区域的,
利用orgbmp.Clone( captureRect, screenSnap.PixelFormat )来复制我们需要的区域,这样既保证了截取图片的
图像质量,也避免了考虑矩形边框问题。
MouseDoubleClick
private void SnapForm_MouseDoubleClick( object sender, MouseEventArgs e ) {
if (e.Button==MouseButtons.Left) {
Bitmap orgbmp = new Bitmap( screenSnap );
try {
Bitmap ab = orgbmp.Clone( captureRect, screenSnap.PixelFormat );
if (saveDlg.ShowDialog() == DialogResult.OK) {
ab.Save( saveDlg.FileName, imgFormat[Path.GetExtension( saveDlg.FileName )] );
MessageBox.Show( "Completed!" );
}
}
catch { }
finally { orgbmp.Dispose(); }
}
}
这样C#截图就基本说完了,为了美化,我们可以在截图窗体上面放个半透明图层,做出类似QQ截图的效果。
更多精彩
赞助商链接