知识大全 java实现缩略图和抓屏幕

Posted

篇首语:没有失败,只有暂时停止成功。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 java实现缩略图和抓屏幕相关的知识,希望对你有一定的参考价值。

  import java awt Container;

  import java awt Dimension;

  import java awt Graphics D;

  import java awt Image;

  import java awt MediaTracker;

  import java awt Rectangle;

  import java awt RenderingHints;

  import java awt Robot;

  import java awt Toolkit;

  import java awt image BufferedImage;

  import java io BufferedOutputStream;

  import java io File;

  import java io FileOutputStream;

  import javax imageio ImageIO;

  import dec jpeg JPEGCodec;

  import dec jpeg JPEGEncodeParam;

  import dec jpeg JPEGImageEncoder;

  /**

  *

  * 纯java API实现图片处理

  * <p>Title:ImageChangeSize</p>

  * <p>Description: </p>

  * <p>Copyright: Copyright (c) </p>

  * <p>Company: </p>

  * @author

  * @version

  */

  public class ImageChangeSize

  

  public static void main ( String [] args )

  throws InterruptedException

  

  //测试生成缩略图

  createThumbnail( c:\\\\ gif c:\\\\uuuu jpg );

  //测试捕捉屏幕 每隔一秒捕获一次

  String path = c:\\\\screen\\\\ ;

  int i = ;

  for ( ;; )

  

  i++;

  String filepath = path + i + jpg ;

  snatchScreen(filepath);

  Thread currentThread() sleep( );

  

  

  /**

  * 处理图片 改变起大小 可进行缩略和放大

  * @param filename 源文件名称

  * @param thumbWidth  处理后宽度

  * @param thumbHeight 处理后高度

  * @param quality     品质 最高 最小

  * @param outFilename  输出文件名称

  */

  public static void createThumbnail ( String filename int thumbWidth int thumbHeight int quality String outFilename )

  

  Image image = Toolkit getDefaultToolkit() getImage(filename);

  MediaTracker mediaTracker = new MediaTracker(new Container());

  mediaTracker addImage(image );

  try

  

  mediaTracker waitForID( );

  double thumbRatio = (double) thumbWidth / (double) thumbHeight;

  int imageWidth = image getWidth(null);

  int imageHeight = image getHeight(null);

  double imageRatio = (double) imageWidth / (double) imageHeight;

  if ( thumbRatio < imageRatio )

  

  thumbHeight = (int) ( thumbWidth / imageRatio );

  

  else

  

  thumbWidth = (int) ( thumbHeight * imageRatio );

  

  BufferedImage thumbImage = new BufferedImage(thumbWidth

  thumbHeight BufferedImage TYPE_INT_RGB);

  Graphics D graphics D = thumbImage createGraphics();

  graphics D setRenderingHint(RenderingHints KEY_INTERPOLATION RenderingHints VALUE_INTERPOLATION_BILINEAR);

  graphics D drawImage(image thumbWidth thumbHeight null);

  BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(outFilename));

  JPEGImageEncoder encoder = JPEGCodec createJPEGEncoder(out);

  JPEGEncodeParam param = encoder getDefaultJPEGEncodeParam(thumbImage);

  quality = Math max( Math min(quality ));

  param setQuality((float) quality / f false);

  encoder setJPEGEncodeParam(param);

  encoder encode(thumbImage);

  out close();

  

  catch ( Exception e )

  

  e printStackTrace();

  

  

  /**

  * 抓取电脑屏幕

  * @param path

  */

  public static void snatchScreen ( String path )

  

  Robot robot;

  try

  

  robot = new Robot();

  Dimension d = Toolkit getDefaultToolkit() getScreenSize();

  Rectangle rect = new Rectangle( d width d height);

  BufferedImage image = robot createScreenCapture(rect);

  ImageIO write(image jpg new File(path));

  

  catch ( Exception e )

  

  System out println( Failed to snatch screen );

  e printStackTrace();

  

  

cha138/Article/program/Java/hx/201311/26013

相关参考

知识大全 asp.net缩略图和水印制作:Image Generation

asp.net缩略图和水印制作:ImageGeneration  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 JAVA生成JPG缩略图

JAVA生成JPG缩略图  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  在任何一个综合性网站我们

知识大全 Java 实践: 用 XQuery 进行屏幕搜集

Java实践:用XQuery进行屏幕搜集  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  上个月J

知识大全 Java很神奇 用swing制作欢迎屏幕

Java很神奇用swing制作欢迎屏幕  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  几乎所有时

怎样识别和抓扒手

扒窃既是社会一大“公害”,抓扒手便人人有责。不管扒手在扒自己的钱包还是扒别人的东西,一经发现,都要坚决与之斗争抓扒手,先要注意识别认准扒手,“一看衣服,二看面目,三看表现,四看动作”。据行家研究,扒手

知识大全 面试中如何有效利用缩略词

你是否试过用首字母缩略词来记住某些信息?把那些你想记住的想法或者词语缩略成一个简短的、容易记忆的首字母缩略词。这一技巧能够帮助你在面试时更好地讲述关于自己的一些故事。这样的缩略词就像是一幅幅思维的地图

环保专业人士也未必知道的122个缩略词

在英语中一个英文缩写词可以用任何方法缩短,将通过一些字母部件绘制在一起。有的缩略形式形成了紧密结构,凝固成为一个能自由运用的语言单位,叫做缩略词。今天给大家介绍一下关于膜生物反应器的相关缩略词ABR(

环保专业人士也未必知道的122个缩略词

在英语中一个英文缩写词可以用任何方法缩短,将通过一些字母部件绘制在一起。有的缩略形式形成了紧密结构,凝固成为一个能自由运用的语言单位,叫做缩略词。今天给大家介绍一下关于膜生物反应器的相关缩略词ABR(

环保专业人士也未必知道的122个缩略词

在英语中一个英文缩写词可以用任何方法缩短,将通过一些字母部件绘制在一起。有的缩略形式形成了紧密结构,凝固成为一个能自由运用的语言单位,叫做缩略词。今天给大家介绍一下关于膜生物反应器的相关缩略词ABR(

知识大全 asp.net生成缩略图及给原始图加水印

生成缩略图及给原始图加水印代码如下cha138/Article/program/net/201311/11730