1、协议支持简单
2、不支持css
3、http协议需要改进
import java.io.File;
import java.io.IOException;
import java.net.URL;
import java.awt.*;
import java.awt.image.*;
import javax.swing.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
public class WebCapture {
public static void main(String[] args) throws IOException {
args = new String[2];
args[0] = "file:D:\\sly\\hp\\js\\index2.html";
args[1] = "c:\\file.bmp";
if (args.length < 2) {
System.err.println(
"Usage: java " +
WebCapture.class.getName() +
" url file");
System.exit(1);
}
new WebCapture().go(
new URL(args[0]),
new File(args[1]));
}
public void go(URL url, File file) throws IOException {
JEditorPane editor = new JEditorPane();
EditorKit ek = new HTMLEditorKit() {
public ViewFactory getViewFactory() {
return new HTMLEditorKit.HTMLFactory() {
public View create(Element element) {
View view = super.create(element);
if (view instanceof ImageView) {
((ImageView)view).setLoadsSynchronously(true);
}
return view;
}
};
}
public Document createDefaultDocument() {
AbstractDocument document =
(AbstractDocument)super.createDefaultDocument();
document.setAsynchronousLoadPriority(-1);
return document;
}
};
editor.setEditorKit(ek);
editor.setPage(url);
editor.setSize(editor.getPreferredSize());
javax.imageio.ImageIO.write(
getImage(editor),
getFormatName(file.getName()),
file);
}
private RenderedImage getImage(Component component) {
Dimension dim = component.getSize();
BufferedImage bi = new BufferedImage(
dim.width, dim.height, BufferedImage.TYPE_INT_RGB);
Graphics2D g2 = bi.createGraphics();
component.paint(g2);
g2.dispose();
return bi;
}
private String getFormatName(String fileName) {
int n = fileName.lastIndexOf(".");
if (n == -1) {
return null;
}
return fileName.substring(n+1);
}
}
分享到:
相关推荐
`react-native-image-picker` 是一个流行的React Native库,用于在iOS和Android应用中集成图像选择功能,包括从相册选择图片、拍摄照片或录制视频。在这个项目中,我们将深入探讨如何使用`react-native-image-picker...
微信小程序图片压缩工具`wx-image-compress-master.zip`是一个专为微信小程序开发设计的资源优化解决方案,主要用于处理和压缩小程序中的图片,以提高加载速度,降低用户流量消耗,同时还能优化小程序的性能和用户...
babel-plugin-transform-require-image-url一个用于转换require Quote的图片资源为url的babel插件示例const image = require ( '../path/image.png' ) ;< img xss=removed> ↓ ↓ ↓ ↓ ↓ ↓const image = '...
【image-tools】是一款强大的图像处理工具,主要针对前端开发者,尤其在uni-app、微信小程序、5+APP以及支持跨域的浏览器环境中应用广泛。这款工具提供了便捷的图像和base64编码之间的转换功能,极大地简化了开发...
在Android开发中,图像显示是常见的需求,而`android-smart-image-view`库则是专为Android平台设计的一个高效、智能的图像查看组件。这个库旨在提供一个优化的解决方案,以处理大图加载、平移、缩放以及图片的触摸...
**Android-Universal-Image-Loader 图片异步加载库详解** 在Android开发中,图片的加载和显示是一项常见的任务,特别是在处理大量图片或者网络图片时,如何高效、流畅地加载和展示图片至关重要。为此,开发者社区...
1. **Android-Universal-Image-Loader介绍** Android-Universal-Image-Loader是一个开源的Android图片加载库,由Sergey Tarasevich创建。它提供了异步图片加载、缓存策略、错误占位图、加载进度显示等多种特性,...
1. **URL解析**:库内部可能使用了URL解析器,将用户提供的字符串转换为URL对象,以便于分析和操作。这包括提取协议(如http、https)、主机名、路径、查询参数等。 2. **远程URL检测**:通过比较URL的协议和主机名...
1. 添加Universal-Image-Loader库依赖到项目中,通常是通过Gradle构建系统引入。 2. 配置ImageLoader实例,设定缓存策略、线程池大小等参数。 3. 调用DisplayImageOptions创建图片加载选项,可定制占位符、加载失败...
《Android-Universal-Image-Loader:高效图片加载与缓存框架解析》 在移动应用开发中,图片加载和缓存是至关重要的环节,特别是在Android平台上,由于设备性能和网络环境的差异,良好的图片管理策略能显著提升用户...
Book-Crossing数据集是网上的..."Image-URL-S";"Image-URL-M";"Image-URL-L" ③书籍评分数据(BX-Book-Ratings.csv) User-ID: 用户标识 ISBN: 书籍标识 Book-Rating: 书籍评分,评分如果是明确的,以1-10分表示。未评
《PyPI官网下载:i-need-an-image-0.1.1.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库供全球开发者下载和使用。本文将深入探讨标题中的"i-...
1. **集成Universal-Image-Loader**: 首先,你需要将Universal-Image-Loader库添加到项目中。如果是旧版本的Android Studio,可以通过在`build.gradle`文件中添加依赖库。对于新版本,可能需要通过Gradle的Maven...
Featured Image from URL Premium(FIFU)是一个WordPress图像插件,在后台发布帖子时,如果内容中有图片地址,可以将文章中第一第图像链接作为文章或页面的特色图像/缩略图,不用手动设置特色图像...
1. 添加依赖:在项目的build.gradle文件中添加Universal-Image-Loader的依赖库。 2. 初始化配置:在应用程序的初始化阶段,配置ImageLoader的参数,如缓存策略、线程池大小等。 3. 加载图片:通过ImageLoader的...
参数包括`url`或`urls`(待处理的URL地址或数组),`callback`(处理完成后的回调函数),以及可选的`option`对象,包含`id`(自定义URL的ID)、`image`(自定义截图保存路径)、`groupId`(用于识别一组URL)和`...
"reduce-image-uploader.zip" 提供了解决这一问题的解决方案,它利用Plupload这一强大的多文件上传库,实现了在上传前对图片进行压缩的功能,确保图片达到指定的大小,从而优化用户体验并减轻服务器负担。...
在实际使用中,首先需要将`android-smart-image-view-master`解压,获取源代码。然后在项目中引入此库,可以通过Gradle或AAR依赖。在布局文件中使用SmartImageView替换默认的ImageView,并设置相应的属性。例如,...
URLImage URLImage是一个SwiftUI视图,显示从提供的URL下载的图像。 URLImage管理下载远程图像并将其本地缓存在内存和磁盘中。 使用URLImage非常简单: URLImage ( url : url) { image in image . resizable ()...