java snapshot

作者:原创时间:2022-04-20
文档

java snapshot是什么?让我们一起来了解一下吧! 

首先java snapshot是指Java maven程序中的快照。而快照是一个非常特别的版本,设定了某个现在的开发进度的副本。与一般的版本不同,maven开源项目每次会随着代码的更新而发布快照。

SNAPSHOT作用:

1.标识jar是一个不稳定的文件项目,起标识版本的作用。

2.运用SNAPSHOT之后,maven会常常去私服或是中央仓库中拉取最新的这个jar的版本;而没有SNAPSHOT的jar,则会从本地仓库中查找,本地不存在,才去中央仓库中拉取。

3.更新频率:需要在pom.xml文件中进行配置。

java实现网页快照需要的具体代码如下:

       
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.geom.AffineTransform;
import java.awt.image.BufferedImage;
import java.awt.image.ColorModel;
import java.awt.image.WritableRaster;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

/**
 * HTML2JPG,HTML页面转图片的实现方法。
 * 
 * @author 老紫竹(Java世纪网,java2000.net)
 */
public class Test extends JFrame {

  public Test(String url, File file) throws Exception {
    JEditorPane editorPane = new JEditorPane();
    editorPane.setEditable(false);
    editorPane.setPage(url);
    JScrollPane jsp = new JScrollPane(editorPane);
    getContentPane().add(jsp);
    this.setLocation(0, 0);
    this.setVisible(true); // 如果这里不设置可见,则里面的图片等无法截取
    
    // 如果不延时,则图片等可能没有时间下载显示
    // 具体的秒数需要根据网速等调整
    Thread.sleep(5 * 1000);

    setSize(10000, 10000);

    pack();
    // BufferedImage image = new BufferedImage(editorPane.getWidth(),
    // editorPane.getHeight(), BufferedImage.TYPE_INT_RGB);
    BufferedImage image = new BufferedImage(editorPane.getWidth(), editorPane.getHeight(),
        BufferedImage.TYPE_INT_RGB);
    Graphics2D graphics2D = image.createGraphics();
    editorPane.paint(graphics2D);
    
    BufferedImage image1 = resize(image, 600, 400);

    ImageIO.write(image1, "jpg", file);
    dispose();
  }

  public static void main(String[] args) throws Exception {
    new Test("http://www.google.cn", new File("d:/file.jpg"));
  }

  public static BufferedImage resize(BufferedImage source, int targetW, int targetH) {
    // targetW,targetH分别表示目标长和宽
    int type = source.getType();
    BufferedImage target = null;
    double sx = (double) targetW / source.getWidth();
    double sy = (double) targetH / source.getHeight();
    // 这里想实现在targetW,targetH范围内实现等比缩放。如果不需要等比缩放
    // 则将下面的if else语句注释即可
    if (sx > sy) {
      sx = sy;
      targetW = (int) (sx * source.getWidth());
      // } else {
      // sy = sx;
      // targetH = (int) (sy * source.getHeight());
    }
    if (type == BufferedImage.TYPE_CUSTOM) { // handmade
      ColorModel cm = source.getColorModel();
      WritableRaster raster = cm.createCompatibleWritableRaster(targetW, targetH);
      boolean alphaPremultiplied = cm.isAlphaPremultiplied();
      target = new BufferedImage(cm, raster, alphaPremultiplied, null);
    } else
      target = new BufferedImage(targetW, targetH, type);
    Graphics2D g = target.createGraphics();
    // smoother than exlax:
    g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY);
    g.drawRenderedImage(source, AffineTransform.getScaleInstance(sx, sy));
    g.dispose();
    return target;
  }
}

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
孟浩然的名句 关于诚信的名言名句 杜甫的名言名句 杜甫的名句有哪些 杜甫的千古名句 范仲淹的名句 范仲淹的十大经典名句 缅怀先烈的名言名句 坚持的名言名句 屈原的名言名句 屈原的名句 屈原的千古名句 屈原的经典名句 韩愈的名言名句 青春的名言名句 诗经中的经典名句 刘禹锡的名句 关于清明节的谚语 勤奋的名言名句 陶渊明的名言名句 杜甫的名句 java snappy 活着的经典名句 关于时间的名言名句 感恩老师的名言名句 生日的经典名句 关于读书的名言名句 诚信的名言名句 文章千古事得失寸心知是谁的名句 java sm3加密 java sizeof java simpledateformat java simhash java shuffle java sha256加密 java portal java pojo java plugin java sftp java plug-in