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

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

?? eschergraphics2d.java

?? java 報表 to office文檔: 本包由java語言開發
?? JAVA
?? 第 1 頁 / 共 2 頁
字號:
/* ====================================================================   Copyright 2004   Apache Software Foundation   Licensed under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0   Unless required by applicable law or agreed to in writing, software   distributed under the License is distributed on an "AS IS" BASIS,   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   See the License for the specific language governing permissions and   limitations under the License.==================================================================== */package org.apache.poi.hssf.usermodel;import org.apache.poi.util.POILogFactory;import org.apache.poi.util.POILogger;import java.awt.*;import java.awt.font.FontRenderContext;import java.awt.font.GlyphVector;import java.awt.font.TextLayout;import java.awt.geom.AffineTransform;import java.awt.geom.Area;import java.awt.geom.GeneralPath;import java.awt.image.BufferedImage;import java.awt.image.BufferedImageOp;import java.awt.image.ImageObserver;import java.awt.image.RenderedImage;import java.awt.image.renderable.RenderableImage;import java.text.AttributedCharacterIterator;import java.util.Map;/** * Translates Graphics2d calls into escher calls.  The translation is lossy so * many features are not supported and some just aren't implemented yet.  If * in doubt test the specific calls you wish to make. Graphics calls are * always drawn into an EscherGroup so one will need to be created. * <p> * <b>Important:</b> * <blockquote> * One important concept worth considering is that of font size.  One of the * difficulties in converting Graphics calls into escher drawing calls is that * Excel does not have the concept of absolute pixel positions.  It measures * it's cell widths in 'characters' and the cell heights in points. * Unfortunately it's not defined exactly what a type of character it's * measuring.  Presumably this is due to the fact that the Excel will be * using different fonts on different platforms or even within the same * platform. * <p> * Because of this constraint you have to calculate the verticalPointsPerPixel. * This the amount the font should be scaled by when * you issue commands such as drawString().  A good way to calculate this * is to use the follow formula: * <p> * <pre> *      multipler = groupHeightInPoints / heightOfGroup * </pre> * <p> * The height of the group is calculated fairly simply by calculating the * difference between the y coordinates of the bounding box of the shape.  The * height of the group can be calculated by using a convenience called * <code>HSSFClientAnchor.getAnchorHeightInPoints()</code>. * </blockquote> * * @author Glen Stampoultzis (glens at apache.org) */public class EscherGraphics2d extends Graphics2D{    private EscherGraphics escherGraphics;    private BufferedImage img;    private AffineTransform trans;    private Stroke stroke;    private Paint paint;    private Shape deviceclip;    private POILogger logger = POILogFactory.getLogger(getClass());    /**     * Constructs one escher graphics object from an escher graphics object.     *     * @param escherGraphics    the original EscherGraphics2d object to copy     */    public EscherGraphics2d(EscherGraphics escherGraphics)    {        this.escherGraphics = escherGraphics;        setImg( new BufferedImage(1, 1, 2) );        setColor(Color.black);    }    public void addRenderingHints(Map map)    {        getG2D().addRenderingHints(map);    }    public void clearRect(int i, int j, int k, int l)    {        Paint paint1 = getPaint();        setColor(getBackground());        fillRect(i, j, k, l);        setPaint(paint1);    }    public void clip(Shape shape)    {        if(getDeviceclip() != null)        {            Area area = new Area(getClip());            if(shape != null)                area.intersect(new Area(shape));            shape = area;        }        setClip(shape);    }    public void clipRect(int x, int y, int width, int height)    {        clip(new Rectangle(x,y,width,height));    }    public void copyArea(int x, int y, int width, int height,				  int dx, int dy)    {        getG2D().copyArea(x,y,width,height,dx,dy);    }    public Graphics create()    {        EscherGraphics2d g2d = new EscherGraphics2d(escherGraphics);        return g2d;    }    public void dispose()    {        getEscherGraphics().dispose();        getG2D().dispose();        getImg().flush();    }    public void draw(Shape shape)    {        if (logger.check( POILogger.WARN ))            logger.log(POILogger.WARN,"copyArea not supported");    }    public void drawArc(int x, int y, int width, int height,				 int startAngle, int arcAngle)    {        draw(new java.awt.geom.Arc2D.Float(x, y, width, height, startAngle, arcAngle, 0));    }    public void drawGlyphVector(GlyphVector g, float x, float y)    {        fill(g.getOutline(x, y));    }    public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1,            int sx2, int sy2, Color bgColor, ImageObserver imageobserver)    {        if (logger.check( POILogger.WARN ))            logger.log(POILogger.WARN,"drawImage() not supported");        return true;    }    public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, int sx1, int sy1,            int sx2, int sy2, ImageObserver imageobserver)    {        if (logger.check( POILogger.WARN ))            logger.log(POILogger.WARN,"drawImage() not supported");        return drawImage(image, dx1, dy1, dx2, dy2, sx1, sy1, sx2, sy2, null, imageobserver);    }    public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2, Color bgColor, ImageObserver imageobserver)    {        if (logger.check( POILogger.WARN ))            logger.log(POILogger.WARN,"drawImage() not supported");        return true;    }    public boolean drawImage(Image img, int x, int y,				      int width, int height,				      ImageObserver observer)    {        return drawImage(img, x,y,width,height, null, observer);    }    public boolean drawImage(Image image, int x, int y, Color bgColor, ImageObserver imageobserver)    {        return drawImage(image, x, y, image.getWidth(imageobserver), image.getHeight(imageobserver), bgColor, imageobserver);    }    public boolean drawImage(Image image, int x, int y, ImageObserver imageobserver)    {        return drawImage(image, x, y, image.getWidth(imageobserver), image.getHeight(imageobserver), imageobserver);    }    public boolean drawImage(Image image, AffineTransform affinetransform, ImageObserver imageobserver)    {        AffineTransform affinetransform1 = (AffineTransform)getTrans().clone();        getTrans().concatenate(affinetransform);        drawImage(image, 0, 0, imageobserver);        setTrans( affinetransform1 );        return true;    }    public void drawImage(BufferedImage bufferedimage, BufferedImageOp op, int x, int y)    {        BufferedImage img = op.filter(bufferedimage, null);        drawImage(((Image) (img)), new AffineTransform(1.0F, 0.0F, 0.0F, 1.0F, x, y), null);    }    public void drawLine(int x1, int y1, int x2, int y2)    {        getEscherGraphics().drawLine(x1,y1,x2,y2);//        draw(new GeneralPath(new java.awt.geom.Line2D.Float(x1, y1, x2, y2)));    }    public void drawOval(int x, int y, int width, int height)    {        getEscherGraphics().drawOval(x,y,width,height);//        draw(new java.awt.geom.Ellipse2D.Float(x, y, width, height));    }    public void drawPolygon(int xPoints[], int yPoints[],				     int nPoints)    {        getEscherGraphics().drawPolygon(xPoints, yPoints, nPoints);    }    public void drawPolyline(int xPoints[], int yPoints[], int nPoints)    {        if(nPoints > 0)        {            GeneralPath generalpath = new GeneralPath();            generalpath.moveTo(xPoints[0], yPoints[0]);            for(int j = 1; j < nPoints; j++)                generalpath.lineTo(xPoints[j], yPoints[j]);            draw(generalpath);        }    }    public void drawRect(int x, int y, int width, int height)    {        escherGraphics.drawRect(x,y,width,height);    }    public void drawRenderableImage(RenderableImage renderableimage, AffineTransform affinetransform)    {        drawRenderedImage(renderableimage.createDefaultRendering(), affinetransform);    }    public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform)    {        BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null);        bufferedimage.setData(renderedimage.getData());        drawImage(bufferedimage, affinetransform, null);    }    public void drawRoundRect(int i, int j, int k, int l, int i1, int j1)    {        draw(new java.awt.geom.RoundRectangle2D.Float(i, j, k, l, i1, j1));    }    public void drawString(String string, float x, float y)    {        getEscherGraphics().drawString(string, (int)x, (int)y);    }    public void drawString(String string, int x, int y)    {        getEscherGraphics().drawString(string, x, y);    }    public void drawString(AttributedCharacterIterator attributedcharacteriterator, float x, float y)    {        TextLayout textlayout = new TextLayout(attributedcharacteriterator, getFontRenderContext());        Paint paint1 = getPaint();        setColor(getColor());        fill(textlayout.getOutline(AffineTransform.getTranslateInstance(x, y)));        setPaint(paint1);    }    public void drawString(AttributedCharacterIterator attributedcharacteriterator, int x, int y)    {        drawString(attributedcharacteriterator, x, y);    }    public void fill(Shape shape)    {        if (logger.check( POILogger.WARN ))            logger.log(POILogger.WARN,"fill(Shape) not supported");    }

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美激情一区二区三区蜜桃视频 | 亚洲人成影院在线观看| 欧美成人激情免费网| 欧美精品丝袜久久久中文字幕| 欧美日韩综合在线| 欧美日韩国产综合视频在线观看 | 91免费在线看| 日本乱人伦aⅴ精品| 色琪琪一区二区三区亚洲区| 色综合一个色综合亚洲| 在线免费一区三区| 欧美色图在线观看| 欧美一区二区日韩| 精品福利在线导航| 欧美经典一区二区| 日韩美女视频一区二区| 亚洲一区影音先锋| 天天影视涩香欲综合网| 免费一级欧美片在线观看| 另类调教123区| 国产精品一区久久久久| 成人高清在线视频| 色婷婷精品久久二区二区蜜臂av| 在线亚洲一区二区| 正在播放亚洲一区| 久久伊人中文字幕| 中文字幕一区在线| 天堂久久一区二区三区| 极品美女销魂一区二区三区| 国产不卡视频在线播放| 欧洲国内综合视频| 欧美tickling挠脚心丨vk| 国产精品美女久久久久久久久久久 | 精品播放一区二区| |精品福利一区二区三区| 视频一区国产视频| 国产剧情一区二区| 91国偷自产一区二区三区观看| 欧美肥妇bbw| 欧美激情一区二区三区| 亚洲国产视频一区| 国产美女久久久久| 91福利视频在线| 欧美tickling网站挠脚心| 国产精品久久久久久亚洲伦| 午夜免费欧美电影| 国产精品性做久久久久久| 成人黄色小视频| 欧美疯狂做受xxxx富婆| 国产欧美日韩在线| 午夜精品一区二区三区免费视频| 国产一区二区在线观看免费| 欧美在线色视频| 337p粉嫩大胆噜噜噜噜噜91av| 一区二区三区国产豹纹内裤在线| 狠狠v欧美v日韩v亚洲ⅴ| 91激情在线视频| 久久精品视频一区二区三区| 亚洲福利视频一区| 懂色av一区二区三区免费看| 欧美日韩一区二区三区在线看| 国产欧美综合在线| 日本不卡视频一二三区| 色综合 综合色| 久久久精品国产免费观看同学| 性感美女久久精品| 99久久久精品| 久久免费看少妇高潮| 日本怡春院一区二区| 91免费观看国产| 国产欧美日韩精品一区| 麻豆精品视频在线观看视频| 久久亚洲影视婷婷| 亚洲成a人片在线不卡一二三区| 成人av集中营| 久久精品视频在线看| 久久超碰97中文字幕| 欧美日韩免费不卡视频一区二区三区| 国产精品白丝在线| 国产精品中文字幕一区二区三区| 日韩小视频在线观看专区| 亚洲综合色噜噜狠狠| 成人网男人的天堂| 久久久久久久久久电影| 日韩国产高清在线| 欧美老肥妇做.爰bbww| 中文字幕一区三区| 成人av免费在线观看| 国产清纯白嫩初高生在线观看91 | 国产美女精品人人做人人爽| 日韩天堂在线观看| 婷婷六月综合网| 91免费在线看| 亚洲精品菠萝久久久久久久| 91麻豆视频网站| 亚洲三级视频在线观看| 97精品超碰一区二区三区| 国产精品美女久久久久久久久久久| 经典三级视频一区| 久久综合久久99| 国产一区二区三区精品欧美日韩一区二区三区 | 欧美美女一区二区| 亚洲福中文字幕伊人影院| 欧美日韩一区三区四区| 亚洲大型综合色站| 欧美日韩精品一区二区天天拍小说 | 精品人在线二区三区| 免费成人小视频| 精品粉嫩超白一线天av| 国产九色sp调教91| 国产精品久久久久影院| 91美女片黄在线观看| 亚洲精品中文在线观看| 欧美性感一类影片在线播放| 视频一区欧美精品| 欧美成人a在线| 国产精品综合在线视频| 国产精品免费观看视频| 色噜噜久久综合| 天天影视涩香欲综合网| 精品美女一区二区三区| 国产·精品毛片| 综合激情成人伊人| 91黄视频在线观看| 日韩不卡在线观看日韩不卡视频| 欧美成人精品1314www| 懂色av一区二区在线播放| 一区二区在线观看视频| 日韩一区二区三区三四区视频在线观看| 蜜臀av性久久久久蜜臀aⅴ | 另类人妖一区二区av| 国产午夜精品久久久久久久| 91在线你懂得| 日韩精品一区第一页| 久久综合九色综合欧美98| 成人午夜激情视频| 亚洲国产成人av| 欧美成人性战久久| 99久久国产免费看| 婷婷久久综合九色综合伊人色| 久久毛片高清国产| 色偷偷成人一区二区三区91| 日韩中文欧美在线| 国产精品素人视频| 欧美日韩精品一区二区三区| 国产在线乱码一区二区三区| 精品亚洲porn| 国产精品久久久久一区| 在线成人小视频| 成人午夜精品一区二区三区| 日韩在线a电影| 中文字幕一区二区三区精华液| 日韩视频免费观看高清在线视频| 粉嫩av亚洲一区二区图片| 丝袜诱惑制服诱惑色一区在线观看| 欧美激情一二三区| 欧美一区二区三区在线电影| 97精品久久久久中文字幕| 另类小说图片综合网| 亚洲精品视频免费看| 亚洲精品在线网站| 欧美午夜精品一区二区蜜桃| 国产91在线看| 麻豆成人久久精品二区三区小说| 一区二区三区四区视频精品免费| www国产亚洲精品久久麻豆| 91久久免费观看| 成人自拍视频在线| 裸体歌舞表演一区二区| 日韩毛片视频在线看| 久久久综合精品| 欧美电影影音先锋| 在线精品视频免费观看| 成人丝袜高跟foot| 看电影不卡的网站| 午夜精品久久久久久久99樱桃| 国产精品国产三级国产a| 欧美精品一区二区三区久久久| 在线不卡的av| 日本丶国产丶欧美色综合| 懂色av一区二区夜夜嗨| 激情成人综合网| 日本欧美一区二区在线观看| 有码一区二区三区| 国产精品久久久一本精品| 久久精品一区蜜桃臀影院| 精品国产91洋老外米糕| 69堂成人精品免费视频| 欧美艳星brazzers| 色欧美88888久久久久久影院| 成人精品高清在线| 国产成人久久精品77777最新版本| 久久99精品国产麻豆婷婷洗澡| 日韩av一区二区三区四区| 五月天丁香久久| 亚洲午夜私人影院| 洋洋成人永久网站入口| 一区二区三区在线免费| 亚洲老司机在线| 亚洲美女视频一区|