`
defrag_sly
  • 浏览: 128745 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

url---〉image(1)

    博客分类:
  • java
阅读更多
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);
    }
}
1
0
分享到:
评论

相关推荐

    react-native-image-picker 的使用方法demo

    `react-native-image-picker` 是一个流行的React Native库,用于在iOS和Android应用中集成图像选择功能,包括从相册选择图片、拍摄照片或录制视频。在这个项目中,我们将深入探讨如何使用`react-native-image-picker...

    微信小程序图片压缩工具wx-image-compress-master.zip

    微信小程序图片压缩工具`wx-image-compress-master.zip`是一个专为微信小程序开发设计的资源优化解决方案,主要用于处理和压缩小程序中的图片,以提高加载速度,降低用户流量消耗,同时还能优化小程序的性能和用户...

    babel-plugin-transform-require-image-to-url:转换图像资产的Babel插件需要url

    babel-plugin-transform-require-image-url一个用于转换require Quote的图片资源为url的babel插件示例const image = require ( '../path/image.png' ) ;&lt; img xss=removed&gt; ↓ ↓ ↓ ↓ ↓ ↓const image = '...

    image-tools图像转换工具,可用于图像和base64的转换

    【image-tools】是一款强大的图像处理工具,主要针对前端开发者,尤其在uni-app、微信小程序、5+APP以及支持跨域的浏览器环境中应用广泛。这款工具提供了便捷的图像和base64编码之间的转换功能,极大地简化了开发...

    android-smart-image-view.zip

    在Android开发中,图像显示是常见的需求,而`android-smart-image-view`库则是专为Android平台设计的一个高效、智能的图像查看组件。这个库旨在提供一个优化的解决方案,以处理大图加载、平移、缩放以及图片的触摸...

    Android-Universal-Image-Loader 图片异步加载类库的使用

    **Android-Universal-Image-Loader 图片异步加载库详解** 在Android开发中,图片的加载和显示是一项常见的任务,特别是在处理大量图片或者网络图片时,如何高效、流畅地加载和展示图片至关重要。为此,开发者社区...

    Android-Universal-Image-Loader Demo和jar包

    1. **Android-Universal-Image-Loader介绍** Android-Universal-Image-Loader是一个开源的Android图片加载库,由Sergey Tarasevich创建。它提供了异步图片加载、缓存策略、错误占位图、加载进度显示等多种特性,...

    前端开源库-url-remote

    1. **URL解析**:库内部可能使用了URL解析器,将用户提供的字符串转换为URL对象,以便于分析和操作。这包括提取协议(如http、https)、主机名、路径、查询参数等。 2. **远程URL检测**:通过比较URL的协议和主机名...

    Android-Universal-Image-Loader-master

    1. 添加Universal-Image-Loader库依赖到项目中,通常是通过Gradle构建系统引入。 2. 配置ImageLoader实例,设定缓存策略、线程池大小等参数。 3. 调用DisplayImageOptions创建图片加载选项,可定制占位符、加载失败...

    Android-Universal-Image-Loader-master.zip

    《Android-Universal-Image-Loader:高效图片加载与缓存框架解析》 在移动应用开发中,图片加载和缓存是至关重要的环节,特别是在Android平台上,由于设备性能和网络环境的差异,良好的图片管理策略能显著提升用户...

    Book-Crossing数据集

    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

    《PyPI官网下载:i-need-an-image-0.1.1.tar.gz——探索Python库的奥秘》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python库供全球开发者下载和使用。本文将深入探讨标题中的"i-...

    开源框架Universal-Image-Loader的简单例子

    1. **集成Universal-Image-Loader**: 首先,你需要将Universal-Image-Loader库添加到项目中。如果是旧版本的Android Studio,可以通过在`build.gradle`文件中添加依赖库。对于新版本,可能需要通过Gradle的Maven...

    WordPress外链图片插件Featured Image from URL

    Featured Image from URL Premium(FIFU)是一个WordPress图像插件,在后台发布帖子时,如果内容中有图片地址,可以将文章中第一第图像链接作为文章或页面的特色图像/缩略图,不用手动设置特色图像...

    Android-Universal-Image-Loader示例

    1. 添加依赖:在项目的build.gradle文件中添加Universal-Image-Loader的依赖库。 2. 初始化配置:在应用程序的初始化阶段,配置ImageLoader的参数,如缓存策略、线程池大小等。 3. 加载图片:通过ImageLoader的...

    NodeJS的url截取模块url-extract的使用实例

    参数包括`url`或`urls`(待处理的URL地址或数组),`callback`(处理完成后的回调函数),以及可选的`option`对象,包含`id`(自定义URL的ID)、`image`(自定义截图保存路径)、`groupId`(用于识别一组URL)和`...

    reduce-image-uploader.zip

    "reduce-image-uploader.zip" 提供了解决这一问题的解决方案,它利用Plupload这一强大的多文件上传库,实现了在上传前对图片进行压缩的功能,确保图片达到指定的大小,从而优化用户体验并减轻服务器负担。...

    android-smart-image-view-master.zip

    在实际使用中,首先需要将`android-smart-image-view-master`解压,获取源代码。然后在项目中引入此库,可以通过Gradle或AAR依赖。在布局文件中使用SmartImageView替换默认的ImageView,并设置相应的属性。例如,...

    url-image:SwiftUI中的异步图像加载。 轻量级的纯SwiftUI图像视图,显示从URL下载的图像,辅助视图和本地缓存

    URLImage URLImage是一个SwiftUI视图,显示从提供的URL下载的图像。 URLImage管理下载远程图像并将其本地缓存在内存和磁盘中。 使用URLImage非常简单: URLImage ( url : url) { image in image . resizable ()...

Global site tag (gtag.js) - Google Analytics