·首页 ·asp ·.net ·php ·JSP ·CGI ·数据库 ·网页设计 ·网管专栏 ·XML ·工具软件 ·办公软件 ·操作系统 ·程序设计 ·LINUX 
  当前位置: 普克>>计算机教程>>JSP>>Application/Applet>>如何捕获视频。
flash视频教学

photoshop专题

asp.net专题

office专题

如何捕获视频。


Application/Applet 发表时间:2006-4-8 字体:  返回
捕获当前屏幕图像。
希望多多交流。8-)
package com.borland.samples.welcome;

/**
* Title:
* Description:
* Copyright:    Copyright (c) 2001
* Company:
* @author
* @version 1.0
*/
import java.awt.*;
import java.awt.image.*;
import com.sun.image.codec.jpeg.*;

class ImageCanvas extends Canvas{
  private Image image;
  private Dimension prefSize;

  public ImageCanvas(Image image){
    this.image = image;
    calculatePreferredSize();
  }

  public void setImage(Image image){
    this.image = image;
    calculatePreferredSize();
    repaint();
  }

  private void calculatePreferredSize(){
    prefSize = new Dimension(image.getWidth(this),image.getHeight(this));
    System.out.println(image.getWidth(this));
    setSize(prefSize);
  }
  public Dimension getPreferredSize() {
     return prefSize;
  }
  public Dimension getMinimumSize() {
     return prefSize;
  }
  public void update(Graphics g){
     paint(g);
  }
  public void paint(Graphics g){
     g.drawImage(image,0,0,null);
  }
}

class ImageUtils{
  public static Image getScreenImage(){
    Robot robot;
    try {
      robot = new Robot();
    }catch(Exception e) {
      throw new RuntimeException("unable to construct Robot");
    }
    Dimension screenDims =Toolkit.getDefaultToolkit().getScreenSize();
    Image screen =robot.createScreenCapture(new Rectangle(450,350,screenDims.width,screenDims.height)).getScaledInstance(400,300,Image.SCALE_SMOOTH);
    MediaTracker tracker =new MediaTracker(new Label());
    tracker.addImage(screen,1);
    try {
      tracker.waitForID(0);
    }catch(InterruptedException e) { /** ... */ }
    return screen;
  }
}

public class ScreenCapture extends Frame{
  private ImageCanvas canvas =new ImageCanvas(ImageUtils.getScreenImage());
  public ScreenCapture(){
    add(canvas);
    setSize(400,300);
    setVisible(true);
    Thread imageThread =new UpdateThread();
    imageThread.setDaemon(true);
    imageThread.start();
}
  class UpdateThread extends Thread{
   public void run(){
      while(true){
        try {
          Thread.currentThread().sleep(1000);
        }
        catch (Exception ex) {

        }
        canvas.setImage(ImageUtils.getScreenImage());
        validate();
     }
    }
  }

  public static void main(String[] args){
   new ScreenCapture();

  }
}



上一篇:js与applet的相互调用。
下一篇:JAVA的声音处理方法 (转自伊氏女人)

普克创业投资网刊载此文不代表同意其说法或描述,仅为提供更多信息。
在百度中搜索如何捕获视频。的相关内容]   [在狗狗中搜索如何捕获视频。的相关内容]
Copyright @ 2006 PUPK.COM 普克创业投资网 版权所有
 建议使用1024*768以达到最好的浏览效果