Java 类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, 0, image.getWidth(), image.getHeight());
g.setColor(base.darker());
g.fillRect(image.getWidth() / 2, 0, image.getWidth() / 2, image
.getHeight() / 2);
g.fillRect(0, image.getHeight() / 2, image.getWidth() / 2, image
.getHeight() / 2);
background = new TexturePaint(image, new Rectangle(0, 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, 0, s, s);
g2.fillRect(s, s, s, s);
g2.setPaint(c1);
g2.setColor(c1);
g2.fillRect(0, s, s, s);
g2.fillRect(s, 0, s, s);
// paint with the texturing brush
Rectangle2D rect = new Rectangle2D.Double(0, 0, 2 * s, 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, 50,
BufferedImage.TYPE_INT_ARGB);
Graphics2D g = (Graphics2D) image.getGraphics();
g.setColor(base);
g.fillRect(0, 0, image.getWidth(), image.getHeight());
g.setColor(base.darker());
g.fillRect(image.getWidth() / 2, 0, image.getWidth() / 2, image
.getHeight() / 2);
g.fillRect(0, image.getHeight() / 2, image.getWidth() / 2, image
.getHeight() / 2);
background = new TexturePaint(image, new Rectangle(0, 0, image
.getWidth(), 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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, bounds);
}
项目:jdk8u-jdk
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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,1,0);
gImage.setColor(Color.BLACK);
gImage.drawLine(0,0,1,1);
gImage.dispose();
Rectangle2D.Double shape = new Rectangle2D.Double(0,0,DIM*6/5, DIM*8/5);
g2d.setPaint(new TexturePaint(patternImage, new Rectangle2D.Double(0,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, 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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, bounds);
}
项目:openjdk-jdk10
文件: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,1,0);
gImage.setColor(Color.BLACK);
gImage.drawLine(0,0,1,1);
gImage.dispose();
Rectangle2D.Double shape = new Rectangle2D.Double(0,0,DIM*6/5, DIM*8/5);
g2d.setPaint(new TexturePaint(patternImage, new Rectangle2D.Double(0,0,
DIM*6/50, DIM*8/50)));
g2d.fill(shape);
g2d.setPaint(Color.BLACK);
g2d.draw(shape);
}
项目:openjdk9
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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.y, r.width, 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, borderInsets.top,
c.getWidth()-borderInsets.left-borderInsets.right,
c.getHeight()-borderInsets.top-borderInsets.bottom);
}
项目:pumpernickel
文件:BrushedMetalDemo.java
protected void setMetalColor(Color c) {
BufferedImage image = BrushedMetalLook.getImage(c);
texturePaint = new TexturePaint(image, new Rectangle(0,0,image.getWidth(),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,100,500,500);
image = BrushedMetalLook.paint(shape, 20, null, c, true);
ImageIcon icon2 = new ImageIcon(image);
label2.setIcon(icon2);
shape = new Line2D.Float(100,500,500,100);
image = BrushedMetalLook.paint(shape, 20, null, c, 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, 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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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,1,0);
gImage.setColor(Color.BLACK);
gImage.drawLine(0,0,1,1);
gImage.dispose();
Rectangle2D.Double shape = new Rectangle2D.Double(0,0,DIM*6/5, DIM*8/5);
g2d.setPaint(new TexturePaint(patternImage, new Rectangle2D.Double(0,0,
DIM*6/50, 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,
new Rectangle(0, 0, VOID_TEXTURE.getWidth(), VOID_TEXTURE.getHeight()));
}
项目:lookaside_java-1.8.0-openjdk
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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(), 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.y, r.width, r.height);
PlafPaintUtils.drawBevel(g, 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, 0, IMAGE_PREFERRED_SIZE, 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, 0, this.controller.getWidth() / 250 * IMAGE_PREFERRED_SIZE,
this.controller.getHeight() / 250 * IMAGE_PREFERRED_SIZE)));
g2D.fillRect(0, 0, IMAGE_PREFERRED_SIZE, 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, 0);
// Fill the pixels of plan icon with texture image
imageGraphics
.setPaint(new TexturePaint(textureImage,
new Rectangle2D.Float(0, 0,
-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, 0, getIconWidth(), getIconHeight());
imageGraphics.dispose();
setIcon(new ImageIcon(image));
}
项目:rapidminer-studio
文件: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, 0, s, s);
g2.fillRect(s, s, s, s);
g2.setPaint(c1);
g2.setColor(c1);
g2.fillRect(0, s, s, s);
g2.fillRect(s, 0, s, s);
// paint with the texturing brush
Rectangle2D rect = new Rectangle2D.Double(0, 0, 2 * s, 2 * s);
return new TexturePaint(bufferedImage, 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, 0, size, size);
g.setPaint(c2);
g.fillRect(0, 0, size / 2, size / 2);
g.fillRect(size / 2, size / 2, size / 2, size / 2);
} finally {
g.dispose();
}
return new TexturePaint(img,new Rectangle(0,0,size,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 über <strong>F1</strong> aufrufen kannst. Dabei wird versucht, das passende Hilfethema für die Ansicht, in der du dich gerade befindest, auszuwählen. Es schadet aber auch nicht, einfach mal so in der Hilfe zu stö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ürlich gibt es neben dir noch eine Vielzahl anderer Spieler, die DS Workbench regelmäßig und intensiv benutzen. Einen perfekten Anlaufpunkt fü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önnte? Hast du eine Idee, wie man DS Workbench verbessern oder die Handhabung vereinfachen könnte? Dann bietet dieser Bereich im DS Workbench Forum die perfekte Anlaufstelle fü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ürlich gehö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 über aktuelle News oder Geschehnisse im Zusammenhang mit DS Workbench informieren kö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ührung nichts mehr im Wege. Erlaube mir trotzdem kurz auf einige Dinge hinzuweisen, die dir möglicherweise beim <b>Umgang mit DS Workbench helfen</b> oder aber dir die Möglichkeit geben, einen wichtigen Teil zur <b>Weiterentwicklung und stetigen Verbesserung</b> dieses Programms beizutragen. Fahre einfach mit der Maus über eins der vier Symbole in den Ecken, um hilfreiche und interessante Informationen rund um DS Workbench zu erfahren. Klicke auf ein Symbol, um direkt zum entsprechenden Ziel zu gelangen. Die Einträge findest du später auch im Hauptmenü unter 'Sonstiges'. <br> <h3 style='color:#953333'> Nun aber viel Spaß 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, new Rectangle2D.Float(0, 0, 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(), size, aPGB.getColor(), aPGB.getBackColor());
Rectangle2D rect = new Rectangle2D.Double(0, 0, size, 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(), size, aPGB.getColor(), aPGB.getBackColor());
Rectangle2D rect = new Rectangle2D.Double(0, 0, size, size);
g.setPaint(new TexturePaint(bi, rect));
g.fill(new Rectangle.Float(aP.X, aP.Y, width, height));
} else {
g.setColor(aPGB.getColor());
g.fill(new Rectangle.Float(aP.X, aP.Y, width, height));
}
}
if (aPGB.isDrawOutline()) {
g.setColor(aPGB.getOutlineColor());
g.setStroke(new BasicStroke(aPGB.getOutlineSize()));
g.draw(new Rectangle.Float(aP.X, aP.Y, width, 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, float width, float height, PolygonBreak aPGB, Graphics2D g) {
Color aColor = aPGB.getColor();
if (aPGB.isDrawFill()) {
if (aPGB.isUsingHatchStyle()) {
int size = aPGB.getStyleSize();
BufferedImage bi = getHatchImage(aPGB.getStyle(), size, aPGB.getColor(), aPGB.getBackColor());
Rectangle2D rect = new Rectangle2D.Double(0, 0, size, size);
g.setPaint(new TexturePaint(bi, rect));
g.fill(new Rectangle.Float(aPoint.X, aPoint.Y, width, height));
} else {
g.setColor(aColor);
g.fill(new Rectangle.Float(aPoint.X, aPoint.Y, width, height));
}
}
if (aPGB.isDrawOutline()) {
g.setColor(aPGB.getOutlineColor());
g.setStroke(new BasicStroke(aPGB.getOutlineSize()));
g.draw(new Rectangle.Float(aPoint.X, aPoint.Y, width, 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(), 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.y, r.width, r.height);
PlafPaintUtils.drawBevel(g, r);
}
项目: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;
}
项目: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,
new Rectangle(0, 0, VOID_TEXTURE.getWidth(), VOID_TEXTURE.getHeight()));
}
项目: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, 0, 10, 10);
g2.fillRect(10, 10, 10, 10);
g2.setColor(c2 != null ? c2 : COLOR2);
g2.fillRect(10, 0, 10, 10);
g2.fillRect(0, 10, 10, 10);
return new TexturePaint(img, new java.awt.Rectangle(0, 0, gridSize, gridSize));
}
项目:infobip-open-jdk-8
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, bounds);
}
项目:jdk8u-dev-jdk
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, bounds);
}
项目:aibench-project
文件:ColorUtil.java
public static Paint getCheckerPaint(Color c1, Color c2, int size) {
BufferedImage img = new BufferedImage(size,size,BufferedImage.TYPE_INT_ARGB);
Graphics g = img.getGraphics();
try {
g.setColor(c1);
g.fillRect(0, 0, size, size);
g.setColor(c2);
g.fillRect(0, 0, size / 2, size / 2);
g.fillRect(size / 2, size / 2, size / 2, size / 2);
} finally {
g.dispose();
}
return new TexturePaint(img,new Rectangle(0,0,size,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, 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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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, new Rectangle2D.Double(0, 0, 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, 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, 0, size, size);
g2d.setStroke(stroke);
g2d.setColor(stripeColor);
g2d.drawLine(0, 0, size, size);
g2d.drawLine(0, size, size, 0);
g2d.dispose();
return new TexturePaint(bufferedImage, new Rectangle(0, 0, size, size));
}
项目:openjdk-source-code-learn
文件: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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, 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, 0, 0, -1, -1);
return new TexturePaint(bi, new Rectangle(0, 0, 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, 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, 0, s2, s2);
g2d.setColor(colors[1]);
g2d.fillRect(s2, 0, s2, s2);
g2d.setColor(colors[3]);
g2d.fillRect(0, s2, s2, s2);
g2d.setColor(colors[2]);
g2d.fillRect(s2, s2, s2, s2);
g2d.dispose();
Rectangle2D bounds = new Rectangle2D.Float(0, 0, size, size);
return new TexturePaint(img, bounds);
}