[DIV+CSS] set the screen capture Part 1 (div截取屏幕)

使用下面的代码来获取屏幕。用DIV加CSS 来控制。 使用mousemove来获取移动的时候DIV的变化,

效果图如下:

使用5个DIV来组成实现截图目的第一部分,现在只是实现了选择的第一部分。

HTML 部分

1 <div id="bg" class="divShawd" onmousedown="mousedown()" onmouseup="mouseup()" onmousemove="mousemove()" ondblclick="confirmCapture()">
2    </div>
3 <div id="divTop" class="divShawdArea"></div>
4 <div id="divLeft" class="divShawdArea"></div>
5 <div id="divRight" class="divShawdArea"></div>
6 <div id="divBottom" class="divShawdArea"></div>

CSS 部分

.divShawdArea {
    cursor: crosshair;
    position: absolute;
    display: none;
    background-color: black;
    z-index: 1000;
    -moz-opacity: 0.7;
    opacity: .70;
    filter: alpha(opacity=70);
}

.divShawd {
    cursor: crosshair;
    display: none;
    position: absolute;
    top: 0%;
    left: 0%;
    width: 100%;
    height: 100%;
    background-color: black;
    z-index: 1001;
    -moz-opacity: 0.0;
    opacity: .0;
    filter: alpha(opacity=0);
}

JAVASCRIPT 部分

<script type="text/javascript">
    var moveCondition = false;
    var move = false;
    var moveArea = false;
    var moveAreaCondition = false;

    function showdiv() {
        //document.getElementById("bg").style.display = "block";
        $("#bg").show();
        $("#bg").css("cursor", "crosshair");

        moveCondition = true;
    }

    function hidediv() {
        moveCondition = false;
        //document.getElementById("bg").style.display = ‘none‘;
        $("#bg").hide();
        $("#divTop").hide();
        $("#divLeft").hide();
        $("#divRight").hide();
        $("#divBottom").hide();
    }

    var origX = 0, compX = 0, origAreaX = 0, trimX = 0;
    var origY = 0, compY = 0, origAreaY = 0, trimY = 0;

    function mousedown() {
        if (moveCondition) {

            $("#divTop").show();
            $("#divLeft").show();
            $("#divRight").show();
            $("#divBottom").show();
            // $("#show").show();

            move = moveCondition;
            origX = event.clientX;
            origY = event.clientY;
            // $("#show").css("left", event.clientX).css("top", event.clientY);
            // $("#show").css("width", "1").css("height", "1");
            showdivArea(origX, origY, origX + 1, origY + 1);
        } else if (moveAreaCondition) {
            moveArea = true;
            origAreaX = event.clientX;
            origAreaY = event.clientY;
        }
    }

    function mousemove() {
        if (move == true) {
            showdivArea(origX, origY, event.clientX, event.clientY);
        }
        else if (moveArea) {
            trimX = event.clientX - origAreaX;
            trimY = event.clientY - origAreaY;
            //$("#divBottom").html = "X1:" + origX + ",Y1:" + origY + ",X2:" + compX + ",Y2:" + compY;
            showdivArea(origX + trimX, origY + trimY, compX + trimX, compY + trimY);
        }
    }

    function mouseup() {
        move = false;
        moveCondition = false;
        moveAreaCondition = true;
        $("#bg").css("cursor", "pointer");

        compX = event.clientX;
        compY = event.clientY;

        if (moveArea) {
            moveArea = false;
            moveAreaCondition = false;

            origX += trimX;
            origY += trimY;
            compX += trimX;
            compY += trimY;
        }
    }

    function confirmCapture() {
        alert("select area is : (X1:" + origX + ",Y1:" + origY + ",X2:" + compX + ",Y2:" + compY + ")");
        $("#bg").css("cursor", "default");
        hidediv();
    }

    function showdivArea(oX, oY, cX, cY) {

        if (oX > cX) {
            var temp = oX;
            oX = cX;
            cX = temp;
        }

        if (oY > cY) {
            var temp = oY;
            oY = cY;
            cY = temp;
        }

        //$("#show").css("width", compX - origX).css("height", compY - origY);

        $("#divTop").css("left", "0").css("top", "0");
        $("#divTop").css("width", "100%").css("height", oY);

        $("#divLeft").css("left", "0").css("top", oY);
        $("#divLeft").css("width", oX).css("height", cY - oY);

        $("#divRight").css("left", cX).css("top", oY);
        $("#divRight").css("width", screen.width - cX).css("height", cY - oY);

        $("#divBottom").css("left", "0").css("top", cY);
        $("#divBottom").css("width", "100%").css("height", screen.height - cY);

    }

</script>

[PS]: 现在完成了第一部分,选择出需要截取的图片。接下来的思路是:

  1. 通过C#代码,截取当前的屏幕图片。 在通过选择的两个point来截取部分图片。
  2. 截取后的内容保存为图片。然后提示出保存窗口,完成整个的截取过程
时间: 2024-10-29 00:33:17

[DIV+CSS] set the screen capture Part 1 (div截取屏幕)的相关文章

现在主流网站为什么都用div+css布局而不是用table

由于刚刚接触前端,一直觉得table布局在代码上看起来比div+css更整洁,div+css布局的页面,一堆的<div><div><div>...</div></div></div>看起来都让人犯密集恐惧症,那么为什么现在的主流网站还都乐此不疲呢?为什么div+css反而成了一种主流布局方式呢?一直对此不解.这篇文章好像是解决了我的问题,先摘录过来,以便查阅. 以下内容摘自:http://www.divcss5.com/wenji/w

div +css基础

div+css是什么? div元素是用来为html文档内大块(block-level)的内容提供结构和背景元素. css是英语Cascading Style Sheets(层叠样式表单)的缩写,它是一种用来表现html或xml等文件样式的计算机语言. div+css是网站标准(或称web标准)中常用术语之一,通常为了说明与html网页设计语言中的表格(table)定位方式的区别,因为XHTML网站设计标准中,不再使用表格定位技术,而是采用div+css的方式实现各种定位. 可以这样理解div+c

psd切图转换为div+css格式

先把把所有标记归置内外边距归置为0,其实还有一种方法是根据根据BODY,里面所用到的HTML标记进行重置为0 PSD转div css网页切图示例 第一步:先把把所有标记归置内外边距归置为0,其实还有一种方法是根据根据BODY里面所用到的HTML标记进行重置为0.你也可以先用*重置为0然后在根据BODY中所使用的标记进行重置.如:我们BODY标记中使用了,div,p那我们的选择符就写 body,div,p就可以了.不需要写*了. 复制代码 代码如下: *{ margin:0px; padding:

div+css怎么实现滚动条样式

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Typ

Html + div + CSS

声明下,本人小白,望大神看了勿喷,多多指点,下面咱们进入正题. 为了界面好看点,先在WPS编写了一遍,弄了几个框架图片,会添加一些色彩,更容易让大家看明白,过一段时间就会发Java的,大概也就是一周一篇,,或者是一周两篇博客,因为现在正在学,只能一边学,然后在星期的时候把学到的总结一下,发出来学到的东西,给大家分享,希望大家喜欢... 1.HTML的基础 HTML是用来制作网页的标记语言 HTML是Hypertext Markup Language的英文缩写,即超文本标记语言 HTML语言是一种

CSS网页错位之DIV CSS宽度计算

DIV CSS宽度计算之CSS网页布局错位(体感音乐) 为什么计算宽度计算网页像素宽度是为了CSS网页布局整齐与兼容.常见的我们布局左右结构网页或使用padding.margin布局的时候将计算整页宽度,如果不计算无论是宽度过大过小就会出现错位问题. 怎么计算CSS宽度例一:我们计算一个左右结构的布局样式.假如总宽度为400px,那么左右加起来就应当小于400px,那我们可能左边为300px,右边为100px(体感音乐)正确代码: <!DOCTYPE html> <head> &l

关于div+css布局

div的元素布局加上css的样式表布局知识:DIV+CSS布局,CSS布局是网页html通过div标签+css样式表代码开发制作的(html)网页的统称.div+css布局好处:便于维护制作div+css网页前思考布局:首先我们拿到一张网页美工图片我们将从上下.上中下.左右.上中(中包括左右)下布局框架来思考.(从大元素块到小元素块:从html上到下:从左至右) /*我们可以分析出我们DIV CSS布局重构此页面结构框架,我们可以看出是 上.中.下结构,其中又包括了左右结构.由此我们就要写此页面

DIV+CSS IE6/IE7/IE8/FF兼容问题汇总

1.IE8下兼容问题,这个最好处理,转化成ie7兼容就可以.在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了 <meta http-equiv="x-ua-compatible" content="ie=7" /> 2.flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,!important解决,比如 margin-left:10px !important;; margin-left:5px; +height:120px

IT兄弟连 HTML5教程 DIV+CSS网页标准化布局的优势

标准的网页都需要对内容进行布局,以前都是采用表格的定位技术,从2005年开始逐步转向DIV+CSS的布局方式,目前绝大多数的网站都是采用这种布局方式.使用DIV+CSS对网站进行布局符合W3C标准,采用这种方式布局通常是为了说明与HTML表格定位方式的区别.通过使用DIV盒子模型结构将各部分内容划分到不同的区块,然后用CSS来定义盒子模型的位置.大小.边框.内外边距.排列方式等.简单地说,DIV用于搭建网站结构(框架),CSS用于创建网站表现(样式/美化).该标准简化了HTML页面代码,获得了一