⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 swtgraphics2d.java

📁 java图形利器
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics#getColor()     */    public Color getColor() {        return SWTUtils.toAwtColor(gc.getForeground());    }    /* (non-Javadoc)     * @see java.awt.Graphics#setColor(java.awt.Color)     */    public void setColor(Color color) {    	org.eclipse.swt.graphics.Color swtColor = getSwtColorFromPool(color);        gc.setForeground(swtColor);    }    /* (non-Javadoc)     * @see java.awt.Graphics#setPaintMode()     */    public void setPaintMode() {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#setXORMode(java.awt.Color)     */    public void setXORMode(Color color) {        // TODO Auto-generated method stub    }    /**     * Returns the font in form of an awt font created      * with the parameters of the font of the swt graphic      * composite.     * @see java.awt.Graphics#getFont()     */    public Font getFont() {        // retrieve the swt font description in an os indept way        FontData[] fontData = gc.getFont().getFontData();        // create a new awt font with the appropiate data        return SWTUtils.toAwtFont(gc.getDevice(), fontData[0], true);    }    /**     * Set the font swt graphic composite from the specified      * awt font. Be careful that the newly created swt font      * must be disposed separately.     * @see java.awt.Graphics#setFont(java.awt.Font)     */    public void setFont(Font font) {        org.eclipse.swt.graphics.Font swtFont = getSwtFontFromPool(font);        gc.setFont(swtFont);    }    /* (non-Javadoc)     * @see java.awt.Graphics#getFontMetrics(java.awt.Font)     */    public FontMetrics getFontMetrics(Font font) {        return SWTUtils.DUMMY_PANEL.getFontMetrics(font);    }    /* (non-Javadoc)     * @see java.awt.Graphics#getClipBounds()     */    public Rectangle getClipBounds() {        org.eclipse.swt.graphics.Rectangle clip = gc.getClipping();        return new Rectangle(clip.x, clip.y, clip.width, clip.height);    }    /* (non-Javadoc)     * @see java.awt.Graphics#clipRect(int, int, int, int)     */    public void clipRect(int x, int y, int width, int height) {        org.eclipse.swt.graphics.Rectangle clip = gc.getClipping();        clip.intersects(x, y, width, height);        gc.setClipping(clip);    }    /* (non-Javadoc)     * @see java.awt.Graphics#setClip(int, int, int, int)     */    public void setClip(int x, int y, int width, int height) {        gc.setClipping(x, y, width, height);    }    /* (non-Javadoc)     * @see java.awt.Graphics#getClip()     */    public Shape getClip() {        // TODO Auto-generated method stub        return null;    }    /* (non-Javadoc)     * @see java.awt.Graphics#setClip(java.awt.Shape)     */    public void setClip(Shape clip) {        if (clip == null)             return;        Path clipPath = toSwtPath(clip);        gc.setClipping(clipPath);        clipPath.dispose();    }    /* (non-Javadoc)     * @see java.awt.Graphics#copyArea(int, int, int, int, int, int)     */    public void copyArea(int x, int y, int width, int height, int dx, int dy) {        // TODO Auto-generated method stub    }    /**     * Draws a line on the swt graphic composite.     * @see java.awt.Graphics#drawLine(int, int, int, int)     */    public void drawLine(int x1, int y1, int x2, int y2) {        gc.drawLine(x1, y1, x2, y2);    }    /**     * Fill a rectangle area on the swt graphic composite.     * The <code>fillRectangle</code> method of the <code>GC</code>      * class uses the background color so we must switch colors.     * @see java.awt.Graphics#fillRect(int, int, int, int)     */    public void fillRect(int x, int y, int width, int height) {        this.switchColors();        gc.fillRectangle(x, y, width, height);        this.switchColors();    }    /* (non-Javadoc)     * @see java.awt.Graphics#clearRect(int, int, int, int)     */    public void clearRect(int x, int y, int width, int height) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawRoundRect(int, int, int, int, int, int)     */    public void drawRoundRect(int x, int y, int width, int height,            int arcWidth, int arcHeight) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#fillRoundRect(int, int, int, int, int, int)     */    public void fillRoundRect(int x, int y, int width, int height,            int arcWidth, int arcHeight) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawOval(int, int, int, int)     */    public void drawOval(int x, int y, int width, int height) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#fillOval(int, int, int, int)     */    public void fillOval(int x, int y, int width, int height) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawArc(int, int, int, int, int, int)     */    public void drawArc(int x, int y, int width, int height, int arcStart,            int arcAngle) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#fillArc(int, int, int, int, int, int)     */    public void fillArc(int x, int y, int width, int height, int arcStart,            int arcAngle) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawPolyline(int[], int[], int)     */    public void drawPolyline(int [] xPoints, int [] yPoints, int npoints) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawPolygon(int[], int[], int)     */    public void drawPolygon(int [] xPoints, int [] yPoints, int npoints) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#fillPolygon(int[], int[], int)     */    public void fillPolygon(int [] xPoints, int [] yPoints, int npoints) {        // TODO Auto-generated method stub    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int,      * java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int x, int y,             ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int, int, int,      * java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int x, int y, int width, int height,            ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int,      * java.awt.Color, java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int x, int y, Color bgcolor,            ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int, int, int,      * java.awt.Color, java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int x, int y, int width, int height,            Color bgcolor, ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int, int, int,      * int, int, int, int, java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2,            int sx1, int sy1, int sx2, int sy2, ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#drawImage(java.awt.Image, int, int, int, int,      * int, int, int, int, java.awt.Color, java.awt.image.ImageObserver)     */    public boolean drawImage(Image image, int dx1, int dy1, int dx2, int dy2,            int sx1, int sy1, int sx2, int sy2, Color bgcolor,            ImageObserver observer) {        // TODO Auto-generated method stub        return false;    }    /* (non-Javadoc)     * @see java.awt.Graphics#dispose()     */    public void dispose() {    	// we dispose resources we own but user must dispose gc        disposeResourcePool();    }    static ImageData convertToSWT(BufferedImage bufferedImage) {        if (bufferedImage.getColorModel() instanceof DirectColorModel) {            DirectColorModel colorModel                     = (DirectColorModel) bufferedImage.getColorModel();            PaletteData palette = new PaletteData(colorModel.getRedMask(),                    colorModel.getGreenMask(), colorModel.getBlueMask());            ImageData data = new ImageData(bufferedImage.getWidth(),                     bufferedImage.getHeight(), colorModel.getPixelSize(),                    palette);            WritableRaster raster = bufferedImage.getRaster();            int[] pixelArray = new int[3];            for (int y = 0; y < data.height; y++) {                for (int x = 0; x < data.width; x++) {                  raster.getPixel(x, y, pixelArray);                  int pixel = palette.getPixel(new RGB(pixelArray[0],                           pixelArray[1], pixelArray[2]));                  data.setPixel(x, y, pixel);                }            }            return data;        }         else if (bufferedImage.getColorModel() instanceof IndexColorModel) {            IndexColorModel colorModel                     = (IndexColorModel) bufferedImage.getColorModel();            int size = colorModel.getMapSize();            byte[] reds = new byte[size];            byte[] greens = new byte[size];            byte[] blues = new byte[size];            colorModel.getReds(reds);            colorModel.getGreens(greens);            colorModel.getBlues(blues);            RGB[] rgbs = new RGB[size];            for (int i = 0; i < rgbs.length; i++) {                rgbs[i] = new RGB(reds[i] & 0xFF, greens[i] & 0xFF,                         blues[i] & 0xFF);            }            PaletteData palette = new PaletteData(rgbs);            ImageData data = new ImageData(bufferedImage.getWidth(),                    bufferedImage.getHeight(), colorModel.getPixelSize(),                    palette);            data.transparentPixel = colorModel.getTransparentPixel();            WritableRaster raster = bufferedImage.getRaster();            int[] pixelArray = new int[1];            for (int y = 0; y < data.height; y++) {                for (int x = 0; x < data.width; x++) {                    raster.getPixel(x, y, pixelArray);                    data.setPixel(x, y, pixelArray[0]);                }            }            return data;        }        return null;    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -