亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? svgrasterizer.java

?? openmap java寫的開源數字地圖程序. 用applet實現,可以像google map 那樣放大縮小地圖.
?? JAVA
字號:
package com.bbn.openmap.tools.svg;import java.awt.Dimension;import java.awt.Graphics2D;import java.awt.Paint;import java.awt.RenderingHints;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.awt.geom.Rectangle2D;import java.awt.image.BufferedImage;import java.io.File;import java.io.FileWriter;import java.io.IOException;import java.io.InputStream;import java.io.Reader;import java.net.MalformedURLException;import java.net.URL;import java.util.Map;import javax.swing.ImageIcon;import javax.swing.JFrame;import javax.swing.JLabel;import org.apache.batik.transcoder.TranscoderException;import org.apache.batik.transcoder.TranscoderInput;import org.apache.batik.transcoder.TranscoderOutput;import org.apache.batik.transcoder.TranscodingHints;import org.apache.batik.transcoder.image.ImageTranscoder;import org.apache.batik.transcoder.image.JPEGTranscoder;import org.w3c.dom.svg.SVGDocument;import com.bbn.openmap.omGraphics.OMColor;import com.bbn.openmap.util.FileUtils;import com.bbn.openmap.util.PropUtils;public class SVGRasterizer {    /**     * The transcoder input.     */    protected TranscoderInput input;    /**     * The transcoder hints.     */    protected TranscodingHints hints = new TranscodingHints();    /**     * The image that represents the SVG document.     */    protected BufferedImage img;    /**     * Constructs a new SVGRasterizer.     *      * @param uri the uri of the document to rasterize     */    /*     * public SVGRasterizer(String uri) { this.input = new     * TranscoderInput(uri); }     */    /**     * Constructs a new SVGRasterizer.     *      * @param url the URL of the document to rasterize     */    public SVGRasterizer(URL url) {        this.input = new TranscoderInput(url.toString());    }    public SVGRasterizer(String filename) {        File f = new File(filename);        try {            this.input = new TranscoderInput(f.toURL().toString());        } catch (Exception e) {            e.printStackTrace();        }    }    /**     * Constructs a new SVGRasterizer converter.     *      * @param istream the input stream that represents the SVG     *        document to rasterize     */    public SVGRasterizer(InputStream istream) {        this.input = new TranscoderInput(istream);    }    /**     * Constructs a new SVGRasterizer converter.     *      * @param reader the reader that represents the SVG document to     *        rasterize     */    public SVGRasterizer(Reader reader) {        this.input = new TranscoderInput(reader);    }    public SVGRasterizer() {    //this.input = new TranscoderInput(reader);    }    /**     * Constructs a new SVGRasterizer converter.     *      * @param document the SVG document to rasterize     */    public SVGRasterizer(SVGDocument document) {        this.input = new TranscoderInput(document);    }    /**     * Returns the image that represents the SVG document.     */    public BufferedImage createBufferedImage() throws TranscoderException,            IOException {        Rasterizer r = new Rasterizer();        r.setTranscodingHints((Map) hints);        r.transcode(input, null);        return img;    }    public BufferedImage resizeBufferedImage(Dimension d)            throws TranscoderException, IOException {        if (input != null) {            this.setImageDimension(d);            Rasterizer r = new Rasterizer();            r.setTranscodingHints((Map) hints);            r.transcode(input, null);            r = null; //for garbage collection        }        return img;    }    public BufferedImage createBufferedImage(Dimension d)            throws TranscoderException, IOException {        if (d != null) {            this.setImageDimension(d);        }        Rasterizer r = new Rasterizer();        r.setTranscodingHints((Map) hints);        r.transcode(input, null);        r = null;        return img;    }    public BufferedImage createJPG(File f) throws TranscoderException,            IOException {        Rasterizer r = new Rasterizer();        JPEGTranscoder jpeg = new JPEGTranscoder();        r.setTranscodingHints((Map) hints);        File file = new File("image.jpg");        FileWriter fw = new FileWriter(file);        TranscoderOutput output = new TranscoderOutput(fw);        r.transcode(input, output);        r.setTranscodingHints((Map) hints);        jpeg.transcode(input, output);        return img;    }    /**     * Sets the width of the image to rasterize.     *      * @param width the image width     */    public void setImageWidth(float width) {        hints.put(ImageTranscoder.KEY_WIDTH, new Float(width));    }    /**     * Sets the height of the image to rasterize.     *      * @param height the image height     */    public void setImageHeight(float height) {        hints.put(ImageTranscoder.KEY_HEIGHT, new Float(height));    }    public void setImageDimension(Dimension d) {        hints.put(ImageTranscoder.KEY_WIDTH, new Float(d.width));        hints.put(ImageTranscoder.KEY_HEIGHT, new Float(d.height));    }    public void setArea(Rectangle2D area) {        hints.put(ImageTranscoder.KEY_AOI, area);    }    /**     * Sets the preferred language to use. SVG documents can provide     * text in multiple languages, this method lets you control which     * language to use if possible. e.g. "en" for english or "fr" for     * french.     *      * @param language the preferred language to use     */    public void setLanguages(String language) {        hints.put(ImageTranscoder.KEY_LANGUAGE, language);    }    /**     * Sets the unit conversion factor to the specified value. This     * method lets you choose how units such as 'em' are converted.     * e.g. 0.26458 is 96dpi (the default) or 0.3528 is 72dpi.     *      * @param px2mm the pixel to millimeter convertion factor.     */    public void setPixelToMMFactor(float px2mm) {        hints.put(ImageTranscoder.KEY_PIXEL_UNIT_TO_MILLIMETER,                new Float(px2mm));    }    /**     * Sets the uri of the user stylesheet. The user stylesheet can be     * used to override styles.     *      * @param uri the uri of the user stylesheet     */    public void setUserStyleSheetURI(String uri) {        hints.put(ImageTranscoder.KEY_USER_STYLESHEET_URI, uri);    }    /**     * Sets whether or not the XML parser used to parse SVG document     * should be validating or not, depending on the specified     * parameter. For futher details about how media work, see the <a     * href="http://www.w3.org/TR/CSS2/media.html";>Media types in the     * CSS2 specification </a>.     *      * @param b true means the XML parser will validate its input     */    public void setXMLParserValidating(boolean b) {        hints.put(ImageTranscoder.KEY_XML_PARSER_VALIDATING, (b ? Boolean.TRUE                : Boolean.FALSE));    }    /**     * Sets the media to rasterize. The medium should be separated by     * comma. e.g. "screen", "print" or "screen, print"     *      * @param media the media to use     */    public void setMedia(String media) {        hints.put(ImageTranscoder.KEY_MEDIA, media);    }    /**     * Sets the alternate stylesheet to use. For futher details, you     * can have a look at the <a     * href="http://www.w3.org/TR/xml-stylesheet/";>Associating Style     * Sheets with XML documents </a>.     *      * @param alternateStylesheet the alternate stylesheet to use if     *        possible     */    public void setAlternateStylesheet(String alternateStylesheet) {        hints.put(ImageTranscoder.KEY_ALTERNATE_STYLESHEET, alternateStylesheet);    }    /**     * Sets the Paint to use for the background of the image.     *      * @param p the paint to use for the background     */    public void setBackgroundColor(Paint p) {        hints.put(ImageTranscoder.KEY_BACKGROUND_COLOR, p);    }    public static void main(String[] args) {        try {            String fileName = FileUtils.getFilePathToOpenFromUser("Locate SVG File");            URL fileURL = PropUtils.getResourceOrFileOrURL(fileName);            SVGRasterizer svgr = new SVGRasterizer(fileURL);            svgr.setBackgroundColor(OMColor.clear);            BufferedImage bi = svgr.createBufferedImage();            JFrame frame = new JFrame();            frame.addWindowListener(new WindowAdapter() {                public void windowClosed(WindowEvent e) {                    System.exit(0);                }            });            frame.getContentPane().add(new JLabel(new ImageIcon(bi)));            frame.pack();            frame.show();        } catch (TranscoderException e2) {            e2.printStackTrace();        } catch (MalformedURLException e) {            e.printStackTrace();        } catch (IOException ioe) {            ioe.printStackTrace();        }    }    /**     * An image transcoder that stores the resulting image.     */    protected class Rasterizer extends ImageTranscoder {        public BufferedImage createImage(int w, int h) {            BufferedImage bi = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB);            ((Graphics2D) bi.getGraphics()).setRenderingHint(RenderingHints.KEY_ANTIALIASING,                    RenderingHints.VALUE_ANTIALIAS_ON);            return bi;        }        public void writeImage(BufferedImage img, TranscoderOutput output)                throws TranscoderException {            SVGRasterizer.this.img = img;        }    }}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产很黄免费观看久久| 欧美日韩另类一区| 欧美色倩网站大全免费| 久久久久久亚洲综合影院红桃| 亚洲欧美日韩国产另类专区| 韩国成人福利片在线播放| 91精品福利视频| 国产午夜精品一区二区三区嫩草| 视频在线在亚洲| 日本高清不卡视频| 国产精品久久久久一区| 国产一区二区三区黄视频| 欧美三级视频在线| 欧美老肥妇做.爰bbww| 国产女主播在线一区二区| 日本不卡免费在线视频| 在线观看亚洲成人| 亚洲欧美日韩国产中文在线| 国产91在线|亚洲| 国产亚洲视频系列| 国产自产高清不卡| 欧美成va人片在线观看| 日韩精品久久理论片| 欧美人成免费网站| 亚洲成年人网站在线观看| 在线免费亚洲电影| 亚洲免费伊人电影| 色婷婷综合久久久中文一区二区 | 日韩欧美一区中文| 天天操天天干天天综合网| 日本高清不卡视频| 亚洲人成7777| 一本大道久久a久久精品综合| 中文字幕一区二区三区在线不卡 | 欧美日本一区二区三区| 亚洲午夜免费电影| 精品视频一区三区九区| 同产精品九九九| 日韩视频在线观看一区二区| 九九久久精品视频| www日韩大片| 成人av在线一区二区| 亚洲视频在线观看一区| 91黄色激情网站| 日本伊人色综合网| 精品国产123| 成人少妇影院yyyy| 一级日本不卡的影视| 91精品国产综合久久久久久漫画| 视频一区二区国产| 久久久久久久久久久电影| 国产精品亚洲а∨天堂免在线| 国产日本欧美一区二区| 91丝袜美女网| 日本一区中文字幕| 欧美韩国日本综合| 欧洲一区在线电影| 国内精品视频一区二区三区八戒 | 日韩午夜激情视频| 国产精品99久久久久久久vr| 亚洲理论在线观看| 日韩三级高清在线| av成人老司机| 三级久久三级久久久| 久久久一区二区三区| 欧美在线看片a免费观看| 日韩在线一区二区三区| 国产亚洲欧美色| 欧美私人免费视频| 国产精品91一区二区| 亚洲韩国精品一区| 国产亲近乱来精品视频| 欧美精品精品一区| 成人高清免费在线播放| 亚洲观看高清完整版在线观看 | 日韩免费视频一区二区| 成人性色生活片免费看爆迷你毛片| 亚洲小说欧美激情另类| 中文字幕乱码久久午夜不卡| 91精品国产综合久久精品麻豆 | 欧美成人艳星乳罩| 在线观看免费亚洲| 懂色av噜噜一区二区三区av| 免费观看在线综合| 一区二区三区中文在线| 欧美国产97人人爽人人喊| 91麻豆精品国产91久久久| a亚洲天堂av| 国产一区 二区 三区一级| 亚洲成人av一区二区| 亚洲另类春色校园小说| 国产精品美女久久福利网站| 日韩精品一区二区在线| 欧美日韩在线三区| 一道本成人在线| 99精品国产99久久久久久白柏| 美脚の诱脚舐め脚责91 | 免费在线观看日韩欧美| 亚洲欧美另类久久久精品2019| 2020国产精品| 2021久久国产精品不只是精品| 91精品婷婷国产综合久久竹菊| 欧洲日韩一区二区三区| 91片黄在线观看| youjizz国产精品| 成人天堂资源www在线| 国产九九视频一区二区三区| 另类小说综合欧美亚洲| 日本成人在线电影网| 日韩高清不卡一区二区三区| 午夜精品免费在线观看| 亚洲成人一二三| 亚洲一区二区av电影| 亚洲一区二区高清| 丝袜亚洲另类丝袜在线| 三级在线观看一区二区| 蜜桃久久精品一区二区| 精品午夜久久福利影院| 精品无人码麻豆乱码1区2区| 国产精品456| 成人小视频在线| 色又黄又爽网站www久久| 一本大道av一区二区在线播放| 欧洲生活片亚洲生活在线观看| 欧美亚洲一区二区在线| 欧美精品色综合| 日韩欧美激情四射| 国产日韩精品一区| 成人欧美一区二区三区黑人麻豆| 一区二区三区精品视频在线| 日韩在线播放一区二区| 激情综合网激情| 成人app在线观看| 欧美性生活一区| 欧美成人精精品一区二区频| 久久久国产午夜精品| 亚洲日本韩国一区| 五月激情丁香一区二区三区| 精品一区二区精品| av电影天堂一区二区在线观看| 欧美最猛黑人xxxxx猛交| 欧美一区日本一区韩国一区| 久久精品人人爽人人爽| 亚洲一区精品在线| 激情五月婷婷综合网| 99精品欧美一区| 91麻豆精品国产自产在线| 欧美国产禁国产网站cc| 亚洲国产精品一区二区www| 国产一区二区精品久久99| 在线观看国产日韩| 久久影院午夜论| 性欧美疯狂xxxxbbbb| 国产精品中文欧美| 欧洲生活片亚洲生活在线观看| 精品久久久久av影院 | 亚洲欧洲日韩女同| 美女视频一区在线观看| 91老师国产黑色丝袜在线| 欧美电影免费观看高清完整版| 亚洲人精品午夜| 狠狠狠色丁香婷婷综合激情| 在线欧美小视频| 国产喂奶挤奶一区二区三区 | 亚洲国产精品自拍| 成人精品视频.| 欧美mv日韩mv亚洲| 亚洲国产va精品久久久不卡综合| 国产成人午夜视频| 精品久久久久久综合日本欧美 | 91在线播放网址| 久久蜜桃av一区精品变态类天堂| 亚瑟在线精品视频| 色88888久久久久久影院按摩 | 一本大道久久a久久综合婷婷| 久久先锋影音av| 日日噜噜夜夜狠狠视频欧美人 | 不卡免费追剧大全电视剧网站| 日韩视频在线你懂得| 午夜激情一区二区| 日本精品一级二级| 中文久久乱码一区二区| 国产精品123区| 精品国产一区二区三区av性色 | 日韩不卡一区二区三区| 欧美在线视频你懂得| 亚洲欧美一区二区在线观看| 成人av免费网站| 1区2区3区国产精品| 大美女一区二区三区| 国产日韩欧美在线一区| 国产成人亚洲综合a∨婷婷| 欧美精品一区二区三区久久久| 免费不卡在线观看| 欧美一区永久视频免费观看| 五月天网站亚洲| 4438x亚洲最大成人网| 日本欧洲一区二区| 日韩视频免费直播| 蜜芽一区二区三区|