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页面转图片的实现方法。
*/
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);
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, 450, 600);
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;
}
}
分享到:
相关推荐
本项目名为"C#实现HTML页面转jpg图片格式",主要目标是通过输入任意的网页链接,在本地指定文件夹生成对应的jpg格式网页截图,同时解决可能出现的白屏问题。 首先,我们需要理解HTML页面的本质,它是一种基于文本的...
本代码实现html文件转换成一个图片的功能。附件包含所需要的包。 注:该代码转换的html文件必须一个屏幕能展现出来的,如果内容太多一个屏幕展现不出来则不能很好的转换。所以该代码只适用于内容不太多的html文件。...
HTML网页保存成jpg图片是一种将网页内容转换为静态图像的技术,这种技术在多种场景下非常有用,例如制作网站截图、创建可分享的预览图或者用于离线阅读。本篇文章将详细探讨如何实现这一过程,并介绍相关的工具和...
在IT行业中,将HTML页面转换为图片是一种常见的需求,例如为了快速分享网页内容或保存页面快照。这个过程可以通过编程实现,通常涉及到浏览器渲染引擎和图像处理技术。在这个主题下,我们将深入探讨如何使用Java来...
总结来说,这个HTML图片翻页功能的实现涉及到了HTML的基本结构、图片的插入、CSS的样式控制以及JavaScript的事件监听和页面动态更新。通过这些技术的结合,我们可以创建出一个既美观又易于操作的网页,为用户提供...
总结来说,生成网页jpg图片涉及网络请求、HTML解析、页面渲染以及图像转换等多个步骤。使用Java结合其他工具库,我们可以构建出一个跨平台且适应不同环境的解决方案。在实际应用中,还应考虑性能优化、错误处理和...
它是实现网页截图的基础,能够解析并渲染HTML页面。 2. **Graphics类**:这是.NET Framework中的一个类,用于进行图形绘制和操作。在截图过程中,我们可以利用`Graphics`对象来绘制WebBrowser控件的内容到一个...
这种技术广泛应用于电子邮件附件、HTML页面内嵌图片、API数据交换等领域,尤其是那些不支持直接发送二进制数据的系统。 7. **编码与解码流程**: - **编码流程**:读取JPG图片的二进制数据,使用Base64编码函数将...
1. **图片加载**:首先,需要加载一系列的图片资源,如压缩包内的01.jpg到23.jpg。这些图片通常是同一物体从不同角度拍摄的,形成一个完整的360度序列。 2. **Canvas初始化**:在HTML中创建Canvas元素,并在...
【WebToJPG 抓取网页转化成JPG图片】技术是将网页内容转化为静态图像的一种方法,这对于创建网站预览、保存网页快照或在无法直接访问网页时查看页面内容非常有用。ASP.NET,微软的Web应用程序开发框架,提供了实现这...
Excel文件作为数据处理和分析的重要工具,有时我们需要将其转换为PDF、JPG图像或HTML网页格式。以下是对"excel文件转换为PDF,jpg,html的方法"的详细解释。 首先,我们来探讨如何将Excel文件转换为PDF格式。PDF...
标题"excel转html和jpg图片 一键生成"以及描述"把excel文件上传到对应文件夹即可",揭示了这是一个自动化工具,能快速将Excel文件转化为HTML网页和JPEG图片。 Excel转HTML: 当需要在网页上展示数据或者在不支持...
总结,"JPG2PDF"工具为我们提供了便捷的图片转PDF解决方案,无论是在工作还是生活中,都能有效帮助我们管理和分享图像资料。正确使用这类工具,可以极大地提升我们的工作效率,同时也保护了原始图片的质量。
标题中的“Flash转图片DLL(SWF转JPG)”是指一种技术,它允许将Adobe Flash格式的SWF文件转换为常见的图像格式,如JPG。这个过程通常涉及使用特定的DLL(动态链接库)文件,它是一个包含可重用代码的库,可以被其他...
在本文中,我们将深入探讨如何使用Java实现在本地读取图片并将其存储到数据库中,之后再通过HTML页面显示这些图片。这个过程涉及到的主要技术包括Java编程、数据库操作(特别是MySQL)以及前后端交互。 首先,我们...
总的来说,这个项目通过JavaScript和相关的库,实现了网页上的电子签名功能,用户可以在网页上直观地绘制签名,然后将签名保存为PNG或JPG格式的图片。这一功能对于在线文档签署、电子商务和其他需要数字签名的场景...
<img src="image2.jpg" alt="图片2"> <img src="image3.jpg" alt="图片3"> ``` 接下来,我们将使用JavaScript来实现图片的自动滚动。这里可以使用计时器(`setInterval`)来定时改变图片显示。首先,我们需要...
"pb实现网页图片下载"这个标题暗示我们讨论的是如何使用Python(通常缩写为pb)来下载网页上的图片。这里我们将深入探讨如何利用Python进行网页图片的下载,以及涉及的相关技术。 首先,我们需要理解HTTP协议,它是...
在本项目中,我们将探讨如何使用这三者来实现一个图片轮转的效果,尤其关注在移动端的滑动表现。 首先,HTML(HyperText Markup Language)是网页的基础,它定义了网页的内容和结构。在实现图片轮转时,我们需要...