您的位置:

java截屏,java截屏如何把鼠标箭头截进去

本文目录一览:

java 实现截屏!

主要是利用java的几个先有的函数,如Robot这个类的一个方法createScreenCapture一个获得一个任意大小的屏幕图像(在这里是全屏图像),而所谓的截图就是在这个图像上画出一个矩形,再利用上面的方法获得这部分的图像,程序中的cf.setAlwaysOnTop(true)是必需的;看起来是在屏幕上截图,其实只是在一个在一个内镶有桌面背景的JFrame中截图。不知道还有没有其他的好方法~

附上代码:

import java.awt.*;

import java.awt.image.*;

import java.awt.event.*;

import java.io.File;

import javax.imageio.ImageIO;

import javax.swing.*;

public class Camera {

/**

* @param args

*/

public static void main(String[] args) {

CameraJFrame cf=new CameraJFrame();

cf.setAlwaysOnTop(true);

cf.setUndecorated(true);

cf.setVisible(true);

}

}

class CameraJFrame extends JFrame

{

/**

*

*/

private static final long serialVersionUID = 1L;

Dimension di=Toolkit.getDefaultToolkit().getScreenSize();

public CameraJFrame()

{

setSize(di);

getContentPane().add(new CameraJPanel());

}

class CameraJPanel extends JPanel implements MouseListener,MouseMotionListener

{

/**

* flag主要是用来判别状态。

* 文件的格式名是unname+数字编号,格式是png

*/

private static final long serialVersionUID = 1L;

BufferedImage bi,get;

int startx,starty,endx,endy;

int flag=1;

String filename="unname";

String fileformat="png";

int count=1;

public CameraJPanel()

{

try

{

Robot ro=new Robot();

bi=ro.createScreenCapture(new Rectangle(0,0,di.width,di.height));

}

catch(Exception e)

{

e.printStackTrace();

}

addMouseListener(this);

addMouseMotionListener(this);

}

public void paintComponent(Graphics g)

{

g.drawImage(bi,0,0,di.width,di.height,this);

g.setColor(Color.red);

g.drawRect(startx, starty, endx-startx, endy-starty);

}

public void mouseClicked(MouseEvent e) {

// TODO Auto-generated method stub

if(e.getButton()==MouseEvent.BUTTON3)

{

System.exit(0);

}

else if(e.getClickCount()==2)

{

try

{

Robot ro=new Robot();

get=ro.createScreenCapture(new Rectangle(startx,starty,endx-startx,endy-starty));

String name=filename+String.valueOf(count++)+"."+fileformat;

File f=new File(name);

ImageIO.write(get, fileformat, f);

}

catch(Exception ex)

{

ex.printStackTrace();

}

flag=1; //置flag为1,以便重新开始截图。

startx=starty=endx=endy=0;

repaint();

}

}

public void mouseEntered(MouseEvent e) {}

public void mouseExited(MouseEvent e) {}

public void mousePressed(MouseEvent e) {

if(flag==1)

{

startx=e.getX();

starty=e.getY();

}

}

public void mouseReleased(MouseEvent e) {

flag=0;

}

public void mouseDragged(MouseEvent e) {

flag=1;

endx=e.getX();

endy=e.getY();

repaint();

}

public void mouseMoved(MouseEvent e) {}

}

}

java 禁止截屏键

在安卓ANDROID开发中,有些内容或文档是为防止知识产权,防信息外泄,需要做一些保护措施,Android中如何禁止用户截屏,防止截图java代码

在需要设置禁止截屏的Activity的onCreate()方法中调用setContentView()方法前添加一行代码即可:

getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);

或:

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);

将以上代码,加入需要保护的ACTIVE中,以上 JAVA代码可以有效防止截图,截屏操作行为,这是一种很好的保护策略。

java截屏有哪几种方法

前台方式

1. 利用html2canvas实现前台截屏

html2canvas项目的gitHub地址

html2canvas示例

html2canvas可以将HTML代码块进行截取,并生成快照形式的canvas,然后可以利用html5的下载功能提供图片的下载接口,供用户下载。

优点:前台技术,实现比较容易。

缺点:此项目使用了html5的技术,因此在对IE的兼容上,只可以在IE9+的版本上使用。

使用时,需要引用jQuery.js和html2canvas.js。(html2canvas.js可以在github上下载)

具体JavaScript代码如下:

var canvas = function () {

html2canvas($("#chart"), {

onrendered: function (canvas) {

$("#class11").html(canvas);//将id为“class11”部分的代码转换为canvas

var type = 'png';//图片类型为png

var imgData = canvas.toDataURL('png');//将图片转换为png类型的流

var _fixType = function (type) {

type = type.toLowerCase().replace(/jpg/i, 'jpeg'); var r = type.match(/png|jpeg|bmp|gif/)[0]; return 'image/' + r;

}; var saveFile = function (data, filename) {

var save_link = document.createElementNS('', 'a');

save_link.href = data;

save_link.download = filename; var event = document.createEvent('MouseEvents');

event.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);

save_link.dispatchEvent(event);

}; //下载时的文件名

var filename = 'baidufe_' + (new Date()).getTime() + '.' + type; // 下载文件

saveFile(imgData, filename);

}

});

后台方式(java)

1. 利用html2image实现

html2image的地址(google)

html2image是可以识别html标签并将html转换成图片的java项目。

优点:后台转换,故对浏览器的版本基本没有要求。

缺点:对样式的识别不是很好,转换出来的图片比较简单,基本没有可以兼容的样式。

使用方式:maven中引用如下依赖:

dependency

groupIdcom.github.xuwei-k/groupId

artifactIdhtml2image/artifactId

version0.1.0/version/dependency12345

2. 利用DJNativeSwing项目实现

纯java代码实现。使用DJNativeSwing这个项目,构建一个swing浏览器,打开网址,之后截取图片。(需要eclipse的swt库支持)

优点:纯java实现。

缺点:需要多线程的支持,只在控制台方式实现过(由于本人对于多线程的掌握较弱,目前没有在spring项目中实现这个方法,求大神指导~~)

3. 利用phantomJs实现

phantomJs的GitHub地址

phantomJs官网

phantom利用的是webKit内核,全面支持web而不需浏览器支持,快速,原生支持各种Web标准。

优点:速度快,使用简单。

缺点:需要在项目的服务器端引用exe文件进行截图,并发性能有待考证。

java截屏,java截屏如何把鼠标箭头截进去

2023-01-08
java箭头,java箭头函数怎么打

2022-11-29
java截图,JAVA截图周围暗中间亮是如何实现的

2022-12-01
java截图,Java截图使用Chromeheadless控

2022-11-26
java截屏,java截屏开源

2023-01-08
c语言截屏截图,C语言截图

2022-11-24
java的js截图,java截图代码

2022-11-24
网页截图js(网页截图截长图)

本文目录一览: 1、如何用nodejs去做网页截图 2、怎么使用node.js进行快速截图 3、如何用 js 做网站截图 如何用nodejs去做网页截图 很多情况下,我们都需要在电脑上做一些截图的操作

2023-12-08
网页端截图js(网页版如何截图)

本文目录一览: 1、如何用 js 做网站截图 2、怎么使用node.js进行快速截图 3、javascript 网页截图 保存为本地图片 4、如何用nodejs去做网页截图 5、js能够实现截图吗 如

2023-12-08
Setuna截图快捷键详解

2023-05-23
Google浏览器截图快捷键

2023-05-20
Win11截图工具详细介绍

2023-05-21
提高App截屏效率的技巧:使用adb命令截屏

2023-05-17
如何截取块的一部分,文档如何截取一部分

2022-11-26
易语言截图:如何轻松记录电脑屏幕?

2023-05-16
如何使用Python为Android设备进行屏幕截图

在开发和测试Android应用程序的过程中,经常需要捕获准确的屏幕截图。本文将介绍如何使用Python编写一个脚本来连接Android设备,并在PC上使用ADB命令捕获屏幕截图,以便于您进行调试和测试

2023-12-08
Android禁止截屏的实现

2023-05-22
使用html2canvas进行网页截图:解决无法全屏截图的问

2023-05-19
印象笔记记录java学习(Java成长笔记)

2022-11-12
利用Python实现Android设备屏幕截图功能

一、ADB工具介绍 Android Debug Bridge(ADB)是一个控制和管理Android设备的命令行工具,可以与设备进行通信,并进行数据传输。ADB工具是Android SDK的一部分,可

2023-12-08