微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java.awt.TexturePaint的实例源码

项目:trashjam2017    文件ImagePanel.java   
/**
 * Create a new empty image panel
 */
public ImagePanel() {
    super();

    Color base = Color.gray;
    BufferedImage image = new BufferedImage(50,50,BufferedImage.TYPE_INT_ARGB);
    Graphics2D g = (Graphics2D) image.getGraphics();
    g.setColor(base);
    g.fillRect(0,image.getWidth(),image.getHeight());
    g.setColor(base.darker());
    g.fillRect(image.getWidth() / 2,image.getWidth() / 2,image
            .getHeight() / 2);
    g.fillRect(0,image.getHeight() / 2,image
            .getHeight() / 2);

    background = new TexturePaint(image,new Rectangle(0,image
            .getWidth(),image.getHeight()));

    setBackground(Color.black);
}
项目:rapidminer    文件PlotInstanceLegendCreator.java   
private static Paint createTransparentCheckeredPaint(Color color,int checkerSize) {
    int s = checkerSize;
    BufferedImage bufferedImage = new BufferedImage(2 * s,2 * s,BufferedImage.TYPE_INT_ARGB);

    Graphics2D g2 = bufferedImage.createGraphics();
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING,// Anti-alias!
            RenderingHints.VALUE_ANTIALIAS_ON);

    Color c1 = DataStructureUtils.setColorAlpha(color,(int) (color.getAlpha() * .8));
    Color c2 = DataStructureUtils.setColorAlpha(color,(int) (color.getAlpha() * .2));
    g2.setstroke(new Basicstroke(0));
    g2.setPaint(c2);
    g2.setColor(c2);
    g2.fillRect(0,s,s);
    g2.fillRect(s,s);
    g2.setPaint(c1);
    g2.setColor(c1);
    g2.fillRect(0,s);

    // paint with the texturing brush
    Rectangle2D rect = new Rectangle2D.Double(0,2 * s);
    return new TexturePaint(bufferedImage,rect);
}
项目:progetto-C    文件ImagePanel.java   
/**
 * Create a new empty image panel
 */
public ImagePanel() {
    super();

    Color base = Color.gray;
    BufferedImage image = new BufferedImage(50,image.getHeight()));

    setBackground(Color.black);
}
项目:Openjsharp    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,boolean alpha) {
    int s2 = size / 2;
    int type =
        alpha ? BufferedImage.TYPE_INT_ARGB : BufferedImage.TYPE_INT_RGB;
    BufferedImage img = new BufferedImage(size,size,type);
    Color[] colors = makeGradientColors(4,alpha);
    Graphics2D g2d = img.createGraphics();
    g2d.setComposite(AlphaComposite.Src);
    g2d.setColor(colors[0]);
    g2d.fillRect(0,s2,s2);
    g2d.setColor(colors[1]);
    g2d.fillRect(s2,s2);
    g2d.setColor(colors[3]);
    g2d.fillRect(0,s2);
    g2d.setColor(colors[2]);
    g2d.fillRect(s2,s2);
    g2d.dispose();
    Rectangle2D bounds = new Rectangle2D.Float(0,size);
    return new TexturePaint(img,bounds);
}
项目:jdk8u-jdk    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:jdk8u-jdk    文件TexturePaintPrintingTest.java   
public void doPaint(Graphics2D g2d) {
    BufferedImage patternImage = new BufferedImage(2,2,BufferedImage.TYPE_INT_ARGB);
            Graphics gImage = patternImage.getGraphics();
            gImage.setColor(Color.WHITE);
            gImage.drawLine(0,1,0);
            gImage.setColor(Color.BLACK);
            gImage.drawLine(0,1);
            gImage.dispose();

            Rectangle2D.Double shape = new Rectangle2D.Double(0,DIM*6/5,DIM*8/5);
            g2d.setPaint(new TexturePaint(patternImage,new Rectangle2D.Double(0,DIM*6/50,DIM*8/50)));
            g2d.fill(shape);
            g2d.setPaint(Color.BLACK);
            g2d.draw(shape);

}
项目:openjdk-jdk10    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:openjdk-jdk10    文件TexturePaintPrintingTest.java   
public void doPaint(Graphics2D g2d) {
    BufferedImage patternImage = new BufferedImage(2,BufferedImage.TYPE_INT_ARGB);
    Graphics gImage = patternImage.getGraphics();
    gImage.setColor(Color.WHITE);
    gImage.drawLine(0,0);
    gImage.setColor(Color.BLACK);
    gImage.drawLine(0,1);
    gImage.dispose();

    Rectangle2D.Double shape = new Rectangle2D.Double(0,DIM*8/5);
    g2d.setPaint(new TexturePaint(patternImage,DIM*8/50)));
    g2d.fill(shape);
    g2d.setPaint(Color.BLACK);
    g2d.draw(shape);
}
项目:openjdk9    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:pumpernickel    文件ColorSwatch.java   
@Override
public void paint(Graphics g0) {
    super.paint(g0); //may be necessary for some look-and-feels?

    Graphics2D g = (Graphics2D)g0;

    Color c = getForeground();
    int w2 = Math.min(getWidth(),w);
    int h2 = Math.min(getHeight(),w);
    Rectangle r = new Rectangle(getWidth()/2-w2/2,getHeight()/2-h2/2,w2,h2);

    if(c.getAlpha()<255) {
        TexturePaint checkers = getCheckerPaint();
        g.setPaint(checkers);
        g.fillRect(r.x,r.y,r.width,r.height);
    }
    g.setColor(c);
    g.fillRect(r.x,r.height);
    PlafPaintUtils.drawBevel(g,r);
}
项目:pumpernickel    文件ColorWellUI.java   
@Override
public void paint(Graphics g0,JComponent c) {
    Graphics2D g = (Graphics2D)g0;
    ColorWell well = (ColorWell)c;
    Color color = well.getColor();
    Border border = c.getBorder();
    Insets borderInsets = border.getBorderInsets(c);
    if(color.getAlpha()<255) {
        TexturePaint checkers = PlafPaintUtils.getCheckerBoard(8);
        g.setPaint(checkers);
        g.fillRect(borderInsets.left,borderInsets.top,c.getWidth()-borderInsets.left-borderInsets.right,c.getHeight()-borderInsets.top-borderInsets.bottom);
    }
    g.setColor(color);
    g.fillRect(borderInsets.left,c.getHeight()-borderInsets.top-borderInsets.bottom);
}
项目:pumpernickel    文件BrushedMetalDemo.java   
protected void setMetalColor(Color c) {
    BufferedImage image = BrushedMetalLook.getimage(c);
    texturePaint = new TexturePaint(image,image.getHeight()));

    Shape shape = new Ellipse2D.Float(100,100,400,400);
    image = BrushedMetalLook.paint(shape,20,null,c,true);
    Icon icon1 = new ImageIcon(image);
    label1.setIcon(icon1);

    shape = new Line2D.Float(100,500,500);
    image = BrushedMetalLook.paint(shape,true);
    ImageIcon icon2 = new ImageIcon(image);
    label2.setIcon(icon2);

    shape = new Line2D.Float(100,100);
    image = BrushedMetalLook.paint(shape,true);
    ImageIcon icon3 = new ImageIcon(image);
    label3.setIcon(icon3);

    tabs.repaint();
}
项目:Push2display    文件SVGPaint.java   
/**
 * @param paint Paint to be converted to SVG
 * @return a descriptor of the corresponding SVG paint
 */
public SVGPaintDescriptor toSVG(Paint paint){
    // we first try the extension handler because we may
    // want to override the way a Paint is managed!
    SVGPaintDescriptor paintDesc = svgCustomPaint.toSVG(paint);

    if (paintDesc == null) {
        if (paint instanceof Color)
            paintDesc = SVGColor.toSVG((Color)paint,generatorContext);
        else if (paint instanceof GradientPaint)
            paintDesc = svgLinearGradient.toSVG((GradientPaint)paint);
        else if (paint instanceof TexturePaint)
            paintDesc = svgTexturePaint.toSVG((TexturePaint)paint);
    }

    return paintDesc;
}
项目:jdk8u_jdk    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:jdk8u_jdk    文件TexturePaintPrintingTest.java   
public void doPaint(Graphics2D g2d) {
    BufferedImage patternImage = new BufferedImage(2,DIM*8/50)));
            g2d.fill(shape);
            g2d.setPaint(Color.BLACK);
            g2d.draw(shape);

}
项目:amidst    文件Drawer.java   
@CalledOnlyBy(AmidstThread.EDT)
public Drawer(
        FragmentGraph graph,FragmentGraphToScreenTranslator translator,Zoom zoom,Movement movement,List<Widget> widgets,Iterable<FragmentDrawer> drawers,Setting<Dimension> dimensionSetting,Graphics2DaccelerationCounter accelerationCounter) {
    this.graph = graph;
    this.translator = translator;
    this.zoom = zoom;
    this.movement = movement;
    this.widgets = widgets;
    this.drawers = drawers;
    this.dimensionSetting = dimensionSetting;
    this.accelerationCounter = accelerationCounter;
    this.voidTexturePaint = new TexturePaint(
            VOID_TEXTURE,VOID_TEXTURE.getWidth(),VOID_TEXTURE.getHeight()));
}
项目:lookaside_java-1.8.0-openjdk    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:iSeleda    文件ColorSwatch.java   
@Override
public void paint(Graphics g0) {
    super.paint(g0); //may be necessary for some look-and-feels?

    Graphics2D g = (Graphics2D)g0;

    Color c = getForeground();
    int w2 = Math.min(getWidth(),r);
}
项目:SweetHome3D    文件ImportedTextureWizardStepsPanel.java   
/**
 * Updates the image shown in attributes panel.
 */
private void updateAttributesPreviewImage()
{
    BufferedImage attributesPreviewImage = this.attributesPreviewComponent.getimage();
    if (attributesPreviewImage == null || attributesPreviewImage == this.imageChoicePreviewComponent.getimage())
    {
        attributesPreviewImage = new BufferedImage(IMAGE_PREFERRED_SIZE,IMAGE_PREFERRED_SIZE,BufferedImage.TYPE_INT_RGB);
        this.attributesPreviewComponent.setimage(attributesPreviewImage);
    }
    // Fill image with a white background
    Graphics2D g2D = (Graphics2D) attributesPreviewImage.getGraphics();
    g2D.setPaint(Color.WHITE);
    g2D.fillRect(0,IMAGE_PREFERRED_SIZE);
    BufferedImage textureImage = this.imageChoicePreviewComponent.getimage();
    if (textureImage != null)
    {
        // Draw the texture image as if it will be shown on a 250 x 250 cm wall
        g2D.setPaint(new TexturePaint(textureImage,new Rectangle2D.Float(0,this.controller.getWidth() / 250 * IMAGE_PREFERRED_SIZE,this.controller.getHeight() / 250 * IMAGE_PREFERRED_SIZE)));
        g2D.fillRect(0,IMAGE_PREFERRED_SIZE);
    }
    g2D.dispose();
    this.attributesPreviewComponent.repaint();
}
项目:SweetHome3D    文件PlanComponent.java   
private void setTexturedIcon(Component c,BufferedImage textureImage,float angle)
{
    // Paint plan icon in an image
    BufferedImage image = new BufferedImage(getIconWidth(),getIconHeight(),BufferedImage.TYPE_INT_ARGB);
    final Graphics2D imageGraphics = (Graphics2D) image.getGraphics();
    imageGraphics.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);
    PieceOfFurniturePlanIcon.super.paintIcon(c,imageGraphics,0);

    // Fill the pixels of plan icon with texture image
    imageGraphics
            .setPaint(new TexturePaint(textureImage,-getIconWidth() / this.pieceWidth * this.pieceTexture.getWidth(),-getIconHeight() / this.pieceDepth * this.pieceTexture.getHeight())));
    imageGraphics.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_IN));
    imageGraphics.rotate(angle);
    float maxDimension = Math.max(image.getWidth(),image.getHeight());
    imageGraphics.fill(new Rectangle2D.Float(-maxDimension,-maxDimension,3 * maxDimension,3 * maxDimension));
    imageGraphics.fillRect(0,getIconWidth(),getIconHeight());
    imageGraphics.dispose();

    setIcon(new ImageIcon(image));
}
项目:rapidminer-studio    文件PlotInstanceLegendCreator.java   
private static Paint createTransparentCheckeredPaint(Color color,rect);
}
项目:swingx    文件PaintUtils.java   
/**
 * Creates a new {@code Paint} that is a checkered effect using the specified colors.
 * <p>
 * While this method supports transparent colors,this implementation performs painting
 * operations using the second color after it performs operations using the first color. This
 * means that to create a checkered paint with a fully-transparent color,you MUST specify that
 * color first.
 * 
 * @param c1
 *            the first color
 * @param c2
 *            the second color
 * @param size
 *            the size of the paint
 * @return a new {@code Paint} checkering the supplied colors
 */
public static Paint getCheckerPaint(Paint c1,Paint c2,int size) {
    BufferedImage img = GraphicsUtilities.createCompatibleTranslucentimage(size,size);
    Graphics2D g = img.createGraphics();

    try {
        g.setPaint(c1);
        g.fillRect(0,size);
        g.setPaint(c2);
        g.fillRect(0,size / 2,size / 2);
        g.fillRect(size / 2,size / 2);
    } finally {
        g.dispose();
    }

    return new TexturePaint(img,size));
}
项目:dsworkbench    文件WelcomePanel.java   
/** Creates new form WelcomePanel */
public WelcomePanel() {
    initComponents();
    setopaque(true);
    welcometooltipMap.put(jxHelpLabel,"<html> <h2 style='color:#953333; font-weight: bold;'>Integrierte Hilfe</h2> DS Workbench bietet eine umfangreiche Hilfe,die du im Programm jederzeit &uuml;ber <strong>F1</strong> aufrufen kannst. Dabei wird versucht,das passende Hilfethema f&uuml;r die Ansicht,in der du dich gerade befindest,auszuw&auml;hlen. Es schadet aber auch nicht,einfach mal so in der Hilfe zu st&ouml;bern um neue Funktionen zu entdecken. Einsteiger sollten in jedem Fall die ersten drei Kapitel der Wichtigen Grundlagen gelesen haben.</html>");
    welcometooltipMap.put(jxCommunityLabel,"<html> <h2 style='color:#953333; font-weight: bold;'>Die DS Workbench Community</h2> Nat&uuml;rlich gibt es neben dir noch eine Vielzahl anderer Spieler,die DS Workbench regelm&auml;&szlig;ig und intensiv benutzen. Einen perfekten Anlaufpunkt f&uuml;r alle Benutzer bietet das DS Workbench Forum,wo man immer jemanden trifft mit dem man Erfahrungen austauschen und wo man Fragen stellen kann.</html>");
    welcometooltipMap.put(jxIdeaLabel,"<html> <h2 style='color:#953333; font-weight: bold;'>Verbesserungen und Ideen </h2> Gibt es irgendwas wo du meinst,dass es in DS Workbench fehlt und was anderen Benutzern auch helfen k&ouml;nnte? Hast du eine Idee,wie man DS Workbench verbessern oder die Handhabung vereinfachen k&ouml;nnte? Dann bietet dieser Bereich im DS Workbench Forum die perfekte Anlaufstelle f&uuml;r dich. Trau dich und hilf mit,DS Workbench  zu verbessern. </html>");
    welcometooltipMap.put(jxFacebookLabel,"<html> <h2 style='color:#953333; font-weight: bold;'>DS Workbench @ Facebook</h2> Nat&uuml;rlich geh&ouml;rt es heutzutage fast zum guten Ton,bei Facebook in irgendeiner Art und Weise vertreten zu sein. Auch DS Workbench hat eine eigene Facebook Seite,mit deren Hilfe ihr euch jederzeit &uuml;ber aktuelle News oder Geschehnisse im Zusammenhang mit DS Workbench informieren k&ouml;nnt.</html>");
    welcometooltipMap.put(jContentLabel,"<html> <h2 style='color:#953333'>Willkommen bei DS Workbench</h2> Wenn du diese Seite siehst,dann hast du DS Workbench erfolgreich installiert und die ersten Schritte ebenso erfolgreich gemeistert. Eigentlich steht nun einer unbeschwerten angriffsplanung und -durchf&uuml;hrung nichts mehr im Wege. Erlaube mir trotzdem kurz auf einige Dinge hinzuweisen,die dir m&ouml;glicherweise beim <b>Umgang mit DS Workbench helfen</b> oder aber dir die M&ouml;glichkeit geben,einen wichtigen Teil zur <b>Weiterentwicklung und stetigen Verbesserung</b> dieses Programms beizutragen. Fahre einfach mit der Maus &uuml;ber eins der vier Symbole in den Ecken,um hilfreiche und interessante @R_556_4045@ionen rund um DS Workbench zu erfahren. Klicke auf ein Symbol,um direkt zum entsprechenden Ziel zu gelangen. Die Eintr&auml;ge findest du sp&auml;ter auch im Hauptmen&uuml; unter 'Sonstiges'. <br> <h3 style='color:#953333'> Nun aber viel Spa&szlig; mit DS Workbench.</h3> </html>");
    try {
        back = ImageIO.read(WelcomePanel.class.getResource("/images/c.gif"));
    } catch (Exception ignored) {
    }
    if (back != null) {
        setBackgroundPainter(new MattePainter(new TexturePaint(back,200,20))));
    }
}
项目:MeteoInfoLib    文件Draw.java   
/**
 * Fill polygon
 *
 * @param points The points array
 * @param g Graphics2D
 * @param aPGB polygon break
 */
public static void fillpolygon(PointF[] points,Graphics2D g,polygonBreak aPGB) {
    GeneralPath path = new GeneralPath(GeneralPath.WIND_EVEN_ODD,points.length);
    for (int i = 0; i < points.length; i++) {
        if (i == 0) {
            path.moveto(points[i].X,points[i].Y);
        } else {
            path.lineto(points[i].X,points[i].Y);
        }
    }
    path.closePath();

    if (aPGB != null) {
        if (aPGB.isUsingHatchStyle()) {
            int size = aPGB.getStyleSize();
            BufferedImage bi = getHatchImage(aPGB.getStyle(),aPGB.getColor(),aPGB.getBackColor());
            Rectangle2D rect = new Rectangle2D.Double(0,size);
            g.setPaint(new TexturePaint(bi,rect));
            g.fill(path);
        } else {
            g.fill(path);
        }
    } else {
        g.fill(path);
    }
}
项目:MeteoInfoLib    文件Draw.java   
/**
 * Draw polygon symbol
 *
 * @param aP The point
 * @param width The width
 * @param height The height
 * @param aPGB The polygon break
 * @param g Graphics2D
 */
public static void drawpolygonSymbol(PointF aP,float width,float height,polygonBreak aPGB,Graphics2D g) {
    aP.X = aP.X - width / 2;
    aP.Y = aP.Y - height / 2;
    if (aPGB.isDrawFill()) {
        if (aPGB.isUsingHatchStyle()) {
            int size = aPGB.getStyleSize();
            BufferedImage bi = getHatchImage(aPGB.getStyle(),rect));
            g.fill(new Rectangle.Float(aP.X,aP.Y,width,height));
        } else {
            g.setColor(aPGB.getColor());
            g.fill(new Rectangle.Float(aP.X,height));
        }
    }
    if (aPGB.isDrawOutline()) {
        g.setColor(aPGB.getoutlineColor());
        g.setstroke(new Basicstroke(aPGB.getoutlinesize()));
        g.draw(new Rectangle.Float(aP.X,height));
    }
}
项目:MeteoInfoLib    文件Draw.java   
/**
 * Draw rectangle
 *
 * @param aPoint Start point
 * @param width Width
 * @param height Height
 * @param aPGB polygon break
 * @param g Graphics2D
 */
public static void drawRectangle(PointF aPoint,Graphics2D g) {
    Color aColor = aPGB.getColor();
    if (aPGB.isDrawFill()) {
        if (aPGB.isUsingHatchStyle()) {
            int size = aPGB.getStyleSize();
            BufferedImage bi = getHatchImage(aPGB.getStyle(),rect));
            g.fill(new Rectangle.Float(aPoint.X,aPoint.Y,height));
        } else {
            g.setColor(aColor);
            g.fill(new Rectangle.Float(aPoint.X,height));
        }
    }
    if (aPGB.isDrawOutline()) {
        g.setColor(aPGB.getoutlineColor());
        g.setstroke(new Basicstroke(aPGB.getoutlinesize()));
        g.draw(new Rectangle.Float(aPoint.X,height));
    }
}
项目:SpreaD3    文件ColorSwatch.java   
public void paint(Graphics g0) {
    super.paint(g0); //may be necessary for some look-and-feels?

    Graphics2D g = (Graphics2D)g0;

    Color c = getForeground();
    int w2 = Math.min(getWidth(),r);
}
项目:PDFReporter-Studio    文件EmptyTexture.java   
public static TexturePaint createTexture(Color c1,Color c2) {
    int gridSize = 10;
    BufferedImage img = new BufferedImage(gridSize * 2,gridSize * 2,BufferedImage.TYPE_INT_ARGB);
    Graphics2D g2 = img.createGraphics();

    AlphaComposite ac = AlphaComposite.getInstance(AlphaComposite.SRC_OVER,0.2f);
    g2.setComposite(ac);

    g2.setColor(c1 != null ? c1 : COLOR1);
    g2.fillRect(0,10,10);
    g2.fillRect(10,10);

    g2.setColor(c2 != null ? c2 : COLOR2);
    g2.fillRect(10,10);
    g2.fillRect(0,10);

    return new TexturePaint(img,new java.awt.Rectangle(0,gridSize,gridSize));
}
项目:infobip-open-jdk-8    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:jdk8u-dev-jdk    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:aibench-project    文件ColorUtil.java   
public static Paint getCheckerPaint(Color c1,Color c2,int size) {
    BufferedImage img = new BufferedImage(size,BufferedImage.TYPE_INT_ARGB);
    Graphics g = img.getGraphics();

    try {
        g.setColor(c1);
        g.fillRect(0,size);
        g.setColor(c2);
        g.fillRect(0,size));
}
项目:feathers-sdk    文件SVGPaint.java   
/**
 * @param paint Paint to be converted to SVG
 * @return a descriptor of the corresponding SVG paint
 */
public SVGPaintDescriptor toSVG(Paint paint){
    // we first try the extension handler because we may
    // want to override the way a Paint is managed!
    SVGPaintDescriptor paintDesc = svgCustomPaint.toSVG(paint);

    if (paintDesc == null) {
        if (paint instanceof Color)
            paintDesc = SVGColor.toSVG((Color)paint,generatorContext);
        else if (paint instanceof GradientPaint)
            paintDesc = svgLinearGradient.toSVG((GradientPaint)paint);
        else if (paint instanceof TexturePaint)
            paintDesc = svgTexturePaint.toSVG((TexturePaint)paint);
    }

    return paintDesc;
}
项目:jdk7-jdk    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:BattleNationsAnimation    文件Bitmap.java   
private void read() throws IOException {
    LittleEndianInputStream in = new LittleEndianInputStream(
            GameFiles.open(name + "_0.z2raw"));
    try {
        int ver = in.readInt();
        if (ver < 0 || ver > 1)
            throw new FileFormatException("Unrecognized version");
        width = in.readInt();
        height = in.readInt();
        bits = in.readInt();
        BufferedImage im = new BufferedImage(width,height,BufferedImage.TYPE_INT_ARGB);
        if (ver == 0)
            readRaw(im,in);
        else
            readRLE(im,in);
        texture = new TexturePaint(im,0x8000,0x8000));
        originalTexture = texture;
    }
    catch (Arrayindexoutofboundsexception e) {
        throw new FileFormatException("Invalid array index",e);
    }
    finally {
        in.close();
    }
}
项目:jMCS    文件ImageUtils.java   
/**
 * Create a cross hatched texture
 * @param size internal image size (height = width)
 * @param backgroundColor background color
 * @param stripeColor line color
 * @param stroke line stroke
 * @return cross hatched texture paint
 */
public static Paint createHatchedTexturePaint(final int size,final Color backgroundColor,final Color stripeColor,final stroke stroke) {

    // create buffered image (alpha):
    final BufferedImage bufferedImage = new BufferedImage(size,BufferedImage.TYPE_INT_ARGB);

    final Graphics2D g2d = bufferedImage.createGraphics();

    // LBO: use antialiasing:
    g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING,RenderingHints.VALUE_ANTIALIAS_ON);
    g2d.setRenderingHint(RenderingHints.KEY_RENDERING,RenderingHints.VALUE_RENDER_QUALITY);

    g2d.setColor(backgroundColor);
    g2d.fillRect(0,size);

    g2d.setstroke(stroke);
    g2d.setColor(stripeColor);
    g2d.drawLine(0,size);
    g2d.drawLine(0,0);

    g2d.dispose();

    return new TexturePaint(bufferedImage,size));
}
项目:openjdk-source-code-learn    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}
项目:passage    文件DrawingAttributes.java   
/**
 * Get the Paint for these attributes,and scale it for the scale compared to
 * the base scale set if the fill Paint is a TexturePattern. If the base
 * scale equals NONE,or if the Paint is not a TexturePaint,it's the same as
 * getFillPaint().
 * 
 * @param scale scale to compare to the base scale.
 * @return a Paint object to use for the fill,scaled if necessary.
 */
public Paint getFillPaintForScale(float scale) {
   if (fillPattern != null) {
      if (baseScale != NONE) {
         BufferedImage bi = fillPattern.getimage();
         float scaleFactor = scale / baseScale;
         Image image =
               bi.getScaledInstance((int) (bi.getWidth() * scaleFactor),(int) (bi.getHeight() * scaleFactor),Image.SCALE_SMOOTH);
         try {
            bi = BufferedImageHelper.getBufferedImage(image,-1,-1);

            return new TexturePaint(bi,bi.getWidth(),bi.getHeight()));
         } catch (InterruptedException ie) {
            if (logger.isLoggable(Level.FINE)) {
               logger.warning("DrawingAttributes: Interrupted Exception scaling texture paint");
            }
         }
      }
      return fillPattern;
   } else {
      return fillPaint;
   }
}
项目:OLD-OpenJDK8    文件RenderTests.java   
private TexturePaint makeTexturePaint(int size,bounds);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。