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

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

?? pdfgraphics2d.java

?? iText可以制作中文PDF文件的JAVA源程序最新版下載
?? JAVA
?? 第 1 頁 / 共 3 頁
字號:
/* * Copyright 2002 by Jim Moore <jim@scolamoore.com>. * * The contents of this file are subject to the Mozilla Public License Version 1.1 * (the "License"); you may not use this file except in compliance with the License. * You may obtain a copy of the License at http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the License. * * The Original Code is 'iText, a free JAVA-PDF library'. * * The Initial Developer of the Original Code is Bruno Lowagie. Portions created by * the Initial Developer are Copyright (C) 1999, 2000, 2001, 2002 by Bruno Lowagie. * All Rights Reserved. * Co-Developer of the code is Paulo Soares. Portions created by the Co-Developer * are Copyright (C) 2000, 2001, 2002 by Paulo Soares. All Rights Reserved. * * Contributor(s): all the names of the contributors are added in the source code * where applicable. * * Alternatively, the contents of this file may be used under the terms of the * LGPL license (the "GNU LIBRARY GENERAL PUBLIC LICENSE"), in which case the * provisions of LGPL are applicable instead of those above.  If you wish to * allow use of your version of this file only under the terms of the LGPL * License and not to allow others to use your version of this file under * the MPL, indicate your decision by deleting the provisions above and * replace them with the notice and other provisions required by the LGPL. * If you do not delete the provisions above, a recipient may use your version * of this file under either the MPL or the GNU LIBRARY GENERAL PUBLIC LICENSE. * * This library is free software; you can redistribute it and/or modify it * under the terms of the MPL as stated above or under the terms of the GNU * Library General Public License as published by the Free Software Foundation; * either version 2 of the License, or any later version. * * This library is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS * FOR A PARTICULAR PURPOSE. See the GNU Library general Public License for more * details. * * If you didn't download this code from the following link, you should check if * you aren't using an obsolete version: * http://www.lowagie.com/iText/ */package com.lowagie.text.pdf;import java.awt.BasicStroke;import java.awt.Color;import java.awt.Composite;import java.awt.Font;import java.awt.FontMetrics;import java.awt.Graphics;import java.awt.Graphics2D;import java.awt.GraphicsConfiguration;import java.awt.Image;import java.awt.Paint;import java.awt.GradientPaint;import java.awt.Polygon;import java.awt.Rectangle;import java.awt.RenderingHints;import java.awt.Shape;import java.awt.Stroke;import java.awt.Transparency;import java.awt.font.FontRenderContext;import java.awt.font.GlyphVector;import java.awt.font.TextLayout;import java.awt.geom.AffineTransform;import java.awt.geom.Arc2D;import java.awt.geom.Area;import java.awt.geom.Ellipse2D;import java.awt.geom.Line2D;import java.awt.geom.PathIterator;import java.awt.geom.Rectangle2D;import java.awt.geom.RoundRectangle2D;import java.awt.image.BufferedImage;import java.awt.image.BufferedImageOp;import java.awt.image.ColorModel;import java.awt.image.ImageObserver;import java.awt.image.RenderedImage;import java.awt.image.WritableRaster;import java.awt.image.renderable.RenderableImage;import java.awt.RenderingHints.Key;import java.awt.geom.NoninvertibleTransformException;import java.awt.geom.Point2D;import java.text.CharacterIterator;import java.text.AttributedCharacterIterator;import java.util.Map;import java.util.HashMap;import java.util.Hashtable;import java.util.ArrayList;public class PdfGraphics2D extends Graphics2D {        private static final int FILL = 1;    private static final int STROKE = 2;    private static final int CLIP = 3;        private static AffineTransform IDENTITY = new AffineTransform();        private Font font;    private BaseFont baseFont;    private float fontSize;    private AffineTransform transform;    private Paint paint;    private Color background;    private float width;    private float height;        private Area clip;        private RenderingHints rhints = new RenderingHints(null);        private Stroke stroke;        private PdfContentByte cb;        /** Storage for BaseFont objects created. */    private HashMap baseFonts;        private boolean disposeCalled = false;        private FontMapper fontMapper;        private PdfFontMetrics fontMetrics;        private ArrayList kids;        private boolean kid = false;        private Graphics dg2 = new BufferedImage(2, 2, BufferedImage.TYPE_INT_RGB).getGraphics();        private boolean onlyShapes = false;    private PdfGraphics2D() {    }        /**     * Constructor for PDFGraphics2D.     *     */    PdfGraphics2D(PdfContentByte cb, float width, float height, FontMapper fontMapper) {        super();        this.transform = new AffineTransform();        this.baseFonts = new HashMap();        this.fontMapper = fontMapper;        this.kids = new ArrayList();        if (this.fontMapper == null)            this.fontMapper = new DefaultFontMapper();        paint = Color.black;        background = Color.white;        setFont(new Font("sanserif", Font.PLAIN, 12));        stroke = new BasicStroke(1);        this.cb = cb;        cb.saveState();        this.width = width;        this.height = height;        clip = new Area(new Rectangle2D.Float(0, 0, width, height));        clip(clip);        cb.saveState();    }        PdfGraphics2D(PdfContentByte cb, float width, float height) {        super();        this.onlyShapes = true;        this.transform = new AffineTransform();        this.kids = new ArrayList();        paint = Color.black;        background = Color.white;        setFont(new Font("sanserif", Font.PLAIN, 12));        stroke = new BasicStroke(1);        this.cb = cb;        cb.saveState();        this.width = width;        this.height = height;        clip = new Area(new Rectangle2D.Float(0, 0, width, height));        clip(clip);        cb.saveState();    }        /**     * @see Graphics2D#draw(Shape)     */    public void draw(Shape s) {        followPath(s, STROKE);    }        /**     * @see Graphics2D#drawImage(Image, AffineTransform, ImageObserver)     */    public boolean drawImage(Image img, AffineTransform xform, ImageObserver obs) {        return drawImage(img, null, xform, null, obs);    }        /**     * @see Graphics2D#drawImage(BufferedImage, BufferedImageOp, int, int)     */    public void drawImage(BufferedImage img, BufferedImageOp op, int x, int y) {        BufferedImage result = op.createCompatibleDestImage(img, img.getColorModel());        result = op.filter(img, result);        drawImage(result, x, y, null);    }        /**     * @see Graphics2D#drawRenderedImage(RenderedImage, AffineTransform)     */    public void drawRenderedImage(RenderedImage img, AffineTransform xform) {        BufferedImage image = null;        if (img instanceof BufferedImage) {            image = (BufferedImage)img;        } else {            ColorModel cm = img.getColorModel();            int width = img.getWidth();            int height = img.getHeight();            WritableRaster raster = cm.createCompatibleWritableRaster(width, height);            boolean isAlphaPremultiplied = cm.isAlphaPremultiplied();            Hashtable properties = new Hashtable();            String[] keys = img.getPropertyNames();            if (keys!=null) {                for (int i = 0; i < keys.length; i++) {                    properties.put(keys[i], img.getProperty(keys[i]));                }            }            BufferedImage result = new BufferedImage(cm, raster, isAlphaPremultiplied, properties);            img.copyData(raster);        }        drawImage(image, xform, null);    }        /**     * @see Graphics2D#drawRenderableImage(RenderableImage, AffineTransform)     */    public void drawRenderableImage(RenderableImage img, AffineTransform xform) {        drawRenderedImage(img.createDefaultRendering(), xform);    }        /**     * @see Graphics#drawString(String, int, int)     */    public void drawString(String s, int x, int y) {        drawString(s, (float)x, (float)y);    }        /**     * @see Graphics2D#drawString(String, float, float)     */    public void drawString(String s, float x, float y) {        if (onlyShapes) {            TextLayout tl = new TextLayout(s, this.font, new FontRenderContext(new AffineTransform(), false, true));            tl.draw(this, x, y);        }        else {            AffineTransform at = getTransform();            AffineTransform at2 = getTransform();            at2.translate(x, y);            at2.concatenate(font.getTransform());            setTransform(at2);            AffineTransform inverse = this.normalizeMatrix();            AffineTransform flipper = AffineTransform.getScaleInstance(1,-1);            inverse.concatenate(flipper);            double[] mx = new double[6];            inverse.getMatrix(mx);            cb.beginText();            cb.setFontAndSize(baseFont, fontSize);            cb.setTextMatrix((float)mx[0], (float)mx[1], (float)mx[2], (float)mx[3], (float)mx[4], (float)mx[5]);            cb.showText(s);            cb.endText();            setTransform(at);        }    }    /**     * @see Graphics#drawString(AttributedCharacterIterator, int, int)     */    public void drawString(AttributedCharacterIterator iterator, int x, int y) {        drawString(iterator, (float)x, (float)y);    }        /**     * @see Graphics2D#drawString(AttributedCharacterIterator, float, float)     */    public void drawString(AttributedCharacterIterator iter, float x, float y) {        StringBuffer sb = new StringBuffer();        for(char c = iter.first(); c != AttributedCharacterIterator.DONE; c = iter.next()) {            sb.append(c);        }        drawString(sb.toString(),x,y);            }        /**     * @see Graphics2D#drawGlyphVector(GlyphVector, float, float)     */    public void drawGlyphVector(GlyphVector g, float x, float y) {        Shape s = g.getOutline(x, y);        fill(s);    }        /**     * @see Graphics2D#fill(Shape)     */    public void fill(Shape s) {        followPath(s, FILL);    }        /**     * @see Graphics2D#hit(Rectangle, Shape, boolean)     */    public boolean hit(Rectangle rect, Shape s, boolean onStroke) {        if (onStroke) {            s = stroke.createStrokedShape(s);        }        s = transform.createTransformedShape(s);        Area area = new Area(s);        if (clip != null)            area.intersect(clip);        return area.intersects(rect.x, rect.y, rect.width, rect.height);    }        /**     * @see Graphics2D#getDeviceConfiguration()     */    public GraphicsConfiguration getDeviceConfiguration() {        throw new UnsupportedOperationException();    }        /**     * @see Graphics2D#setComposite(Composite)     */    public void setComposite(Composite comp) {            }        /**     * @see Graphics2D#setPaint(Paint)     */    public void setPaint(Paint paint) {        setPaint(paint, false, 0, 0);    }        /**     * @see Graphics2D#setStroke(Stroke)     */    public void setStroke(Stroke s) {        this.stroke = s;    }        /**     * @see Graphics2D#setRenderingHint(Key, Object)     */    public void setRenderingHint(Key arg0, Object arg1) {        rhints.put(arg0, arg1);    }        /**     * @see Graphics2D#getRenderingHint(Key)     */    public Object getRenderingHint(Key arg0) {        return rhints.get(arg0);    }        /**     * @see Graphics2D#setRenderingHints(Map)     */    public void setRenderingHints(Map hints) {        rhints.clear();        rhints.putAll(hints);    }        /**     * @see Graphics2D#addRenderingHints(Map)     */    public void addRenderingHints(Map hints) {        rhints.putAll(hints);    }        /**     * @see Graphics2D#getRenderingHints()     */    public RenderingHints getRenderingHints() {        return rhints;    }        /**     * @see Graphics#translate(int, int)     */    public void translate(int x, int y) {        translate((double)x, (double)y);    }        /**     * @see Graphics2D#translate(double, double)     */    public void translate(double tx, double ty) {        transform.translate(tx,ty);    }        /**     * @see Graphics2D#rotate(double)     */    public void rotate(double theta) {        transform.rotate(theta);    }        /**     * @see Graphics2D#rotate(double, double, double)     */    public void rotate(double theta, double x, double y) {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩在线a电影| 欧美老肥妇做.爰bbww视频| 欧美性大战xxxxx久久久| 91精品国产综合久久香蕉麻豆| 欧美激情一区二区三区不卡| 一区二区三区四区在线免费观看| 激情欧美一区二区| 欧美主播一区二区三区美女| 欧美国产精品专区| 久久91精品久久久久久秒播| 一本一道久久a久久精品综合蜜臀| 日韩精品中文字幕在线一区| 亚洲一区二区三区四区中文字幕| 国产精品99久久久久久似苏梦涵 | 日韩欧美在线1卡| 亚洲欧洲国产专区| 极品少妇一区二区三区精品视频 | 99re在线精品| 26uuu欧美日本| 麻豆国产精品一区二区三区| 欧美日韩另类国产亚洲欧美一级| 一区二区三区中文字幕精品精品| 岛国精品一区二区| 欧美精品一区二区久久久| 日日夜夜精品免费视频| 精品视频一区二区不卡| 亚洲另类春色校园小说| 色婷婷综合久色| 亚洲品质自拍视频| 91婷婷韩国欧美一区二区| 国产精品亲子伦对白| 成人美女视频在线观看| 欧美激情综合在线| 成人精品国产福利| 国产精品三级av| 99久久综合99久久综合网站| 国产精品私人影院| aaa欧美大片| 亚洲色图在线播放| 91高清视频免费看| 亚洲午夜av在线| 欧美日韩激情一区| 日韩精品乱码免费| 91精品国产一区二区三区香蕉| 亚洲成a人在线观看| 欧美日韩免费高清一区色橹橹| 亚洲国产毛片aaaaa无费看| 欧美图片一区二区三区| 日韩成人免费电影| 日韩精品专区在线影院重磅| 国产精品一区二区三区四区| 中文字幕欧美激情| 色欧美日韩亚洲| 亚洲综合一区二区| 欧美一区日韩一区| 国产91精品久久久久久久网曝门| 国产精品乱码一区二三区小蝌蚪| 91首页免费视频| 午夜久久福利影院| 精品播放一区二区| 99国内精品久久| 视频一区在线播放| 国产日韩欧美一区二区三区乱码| av电影在线观看一区| 天天爽夜夜爽夜夜爽精品视频| 久久美女艺术照精彩视频福利播放 | 国产精品亚洲专一区二区三区 | 亚洲欧美综合在线精品| 在线一区二区三区| 青娱乐精品视频| 中文字幕中文乱码欧美一区二区 | 偷拍自拍另类欧美| 欧美国产亚洲另类动漫| 在线欧美日韩国产| 国产精品自拍在线| 亚洲国产精品天堂| 久久久777精品电影网影网| 欧美亚洲动漫另类| 福利91精品一区二区三区| 亚洲尤物视频在线| 中文字幕免费不卡| 日韩一区二区三区av| 成人激情小说乱人伦| 蜜桃在线一区二区三区| 亚洲日本va在线观看| 欧美精品一区二区三区蜜桃| 色妞www精品视频| 国产精品中文字幕一区二区三区| 亚洲综合免费观看高清完整版| 久久久www免费人成精品| 欧美日韩亚洲综合一区| www.久久精品| 国产麻豆视频一区| 奇米精品一区二区三区在线观看一| 中文字幕免费在线观看视频一区| 日韩欧美一区在线观看| 欧美性猛交xxxx黑人交| caoporen国产精品视频| 国产精品亚洲一区二区三区在线| 免费看欧美女人艹b| 亚洲综合久久久久| 亚洲乱码国产乱码精品精98午夜| 精品国产乱码久久久久久闺蜜| 欧美日韩欧美一区二区| 色婷婷精品大视频在线蜜桃视频| 国产成人av在线影院| 久久不见久久见中文字幕免费| 爽好久久久欧美精品| 午夜日韩在线电影| 一区二区三区四区av| 亚洲欧美日韩国产一区二区三区| 国产精品视频免费| 久久九九国产精品| 精品精品国产高清一毛片一天堂| 91麻豆精品国产91久久久| 欧美偷拍一区二区| 欧美人成免费网站| 欧美日韩一本到| 88在线观看91蜜桃国自产| 欧美高清性hdvideosex| 欧美日韩在线三区| 欧美日韩一区二区三区四区| 91精品福利视频| 欧美日韩一级黄| 欧美猛男gaygay网站| 欧美久久久久久久久久| 欧美一区二区美女| 精品久久久久久久久久久院品网 | 国产亚洲精品免费| 欧美国产乱子伦 | 国产精品家庭影院| 亚洲日本在线a| 亚洲丶国产丶欧美一区二区三区| 亚洲午夜av在线| 看电视剧不卡顿的网站| 国产资源在线一区| 91在线国产福利| 欧美日韩小视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 播五月开心婷婷综合| 色综合久久九月婷婷色综合| 欧美巨大另类极品videosbest | 欧美一区二区女人| 久久先锋影音av鲁色资源| 亚洲国产精品成人综合色在线婷婷| 亚洲日本丝袜连裤袜办公室| 五月天中文字幕一区二区| 久久99国产精品麻豆| a在线欧美一区| 欧美一区二区三区在线观看视频| 久久精品视频免费| 日韩码欧中文字| 日韩精品国产欧美| 国产精品夜夜嗨| 欧美日韩在线亚洲一区蜜芽| 2022国产精品视频| 亚洲激情自拍偷拍| 国产精品一区在线观看你懂的| 欧美中文字幕不卡| 久久精品一区四区| 日韩精品亚洲一区| 成年人网站91| 26uuu久久综合| 亚洲bt欧美bt精品| 91一区一区三区| 久久久精品免费网站| 日韩电影在线观看一区| 99久久精品国产导航| 精品国产一区二区三区不卡| 亚洲综合色区另类av| 高清不卡一二三区| 日韩欧美一级在线播放| 亚洲一区在线免费观看| av欧美精品.com| 久久这里只有精品视频网| 视频一区二区中文字幕| 91丨porny丨蝌蚪视频| 国产日本一区二区| 久久精品久久99精品久久| 色综合久久精品| 国产精品少妇自拍| 日韩国产欧美在线观看| 欧洲av在线精品| 国产精品拍天天在线| 日韩精品在线看片z| 天天综合天天综合色| 99久久伊人网影院| 欧美电影免费观看高清完整版在线| 亚洲国产视频直播| 99视频热这里只有精品免费| 日韩欧美一区二区久久婷婷| 奇米一区二区三区| 欧美日韩一区二区三区四区五区| 国产精品视频你懂的| 日韩精品免费视频人成| 色先锋资源久久综合| 国产精品午夜在线观看| 奇米888四色在线精品| 日韩一区二区电影网| 亚洲18影院在线观看|