static Icon getColorIcon (java.awt.Color color) { BufferedImage image = new BufferedImage(32, 16, BufferedImage.TYPE_INT_RGB); java.awt.Graphics g = image.getGraphics(); g.setColor(color); g.fillRect(1, 1, 30, 14); g.setColor(java.awt.Color.black); g.drawRect(0, 0, 31, 15); return new ImageIcon(image); }
File path = ... // base path of the images // load source images BufferedImage image = ImageIO.read(new File(path, "image.png")); BufferedImage overlay = ImageIO.read(new File(path, "overlay.png")); // create the new image, canvas size is the max. of both image sizes int w = Math.max(image.getWidth(), overlay.getWidth()); int h = Math.max(image.getHeight(), overlay.getHeight()); BufferedImage combined = new BufferedImage(w, h, BufferedImage.TYPE_INT_ARGB); // paint both images, preserving the alpha channels Graphics g = combined.getGraphics(); g.drawImage(image, 0, 0, null); g.drawImage(overlay, 0, 0, null); // Save as new image ImageIO.write(combined, "PNG", new File(path, "combined.png"));
private Bar(double percentValue, boolean alertOnHighUsage) { super(); this.percentValue = percentValue; this.alertOnHighUsage = alertOnHighUsage; if (alertOnHighUsage) { this.image = new BufferedImage(130, 14, BufferedImage.TYPE_INT_ARGB); } else { this.image = new BufferedImage(106, 10, BufferedImage.TYPE_INT_ARGB); } this.graphics = image.getGraphics(); }
protected BufferedImage makeARGB() { BufferedImage argbImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics g = argbImage.getGraphics(); long len = width * height; for (int i = 0; i < len; i++) { int lonSimilar = i % width; // no need for width - y as coordinate system for Graphics is already this way int latSimilar = i / height; int green = Math.abs(heights.getShort(i * 2)); if (green == 0) { g.setColor(new Color(255, 0, 0, 255)); } else { int red = 0; while (green > 255) { green = green / 10; red += 50; } if (red > 255) red = 255; g.setColor(new Color(red, green, 122, 255)); } g.drawLine(lonSimilar, latSimilar, lonSimilar, latSimilar); } g.dispose(); return argbImage; }
/** * Copy an image * @param src * @return */ private static Image copy(Image src) { final int width = src.getWidth(null); final int height = src.getHeight(null); BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics graphics = image.getGraphics(); graphics.drawImage(src, 0, 0, width, height, null); graphics.dispose(); return image; }
BufferedImage bufImg = ImageIO.read( imageURL ); BufferedImage convertedImg = new BufferedImage(bufImg.getWidth(), bufImg.getHeight(), BufferedImage.TYPE_USHORT_565_RGB); convertedImg.getGraphics().drawImage(bufImg, 0, 0, null);
private BufferedImage generateAtlas(int mipMapLevel, List<BlockTile> tileImages, Color clearColor) { int size = atlasSize / (1 << mipMapLevel); int textureSize = tileSize / (1 << mipMapLevel); int tilesPerDim = atlasSize / tileSize; BufferedImage result = new BufferedImage(size, size, BufferedImage.TYPE_INT_ARGB); Graphics g = result.getGraphics(); g.setColor(clearColor); for (int index = 0; index < tileImages.size(); ++index) { int posX = (index) % tilesPerDim; int posY = (index) / tilesPerDim; BlockTile tile = tileImages.get(index); if (tile != null) { g.drawImage(tile.getImage().getScaledInstance(textureSize, textureSize, Image.SCALE_SMOOTH), posX * textureSize, posY * textureSize, null); } else { g.fillRect(posX * textureSize, posY * textureSize, textureSize, textureSize); } } return result; } }
private static BufferedImage readImage(final ImageIcon imageIcon) { final Image tmpImage = imageIcon.getImage(); final BufferedImage image = new BufferedImage(imageIcon.getIconWidth(), imageIcon.getIconHeight(), BufferedImage.TYPE_INT_ARGB); image.getGraphics().drawImage(tmpImage, 0, 0, null); tmpImage.flush(); return image; }
private void drawTextInImgCenter(BufferedImage baseImage, String textToWrite, int y) { Graphics2D g2D = (Graphics2D) baseImage.getGraphics(); g2D.setColor(new Color(167, 136, 69)); String fontName = "Microsoft YaHei"; Font f = new Font(fontName, Font.PLAIN, 28); g2D.setFont(f); g2D.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); // 计算文字长度,计算居中的x点坐标 FontMetrics fm = g2D.getFontMetrics(f); int textWidth = fm.stringWidth(textToWrite); int widthX = (baseImage.getWidth() - textWidth) / 2; // 表示这段文字在图片上的位置(x,y) .第一个是你设置的内容。 g2D.drawString(textToWrite, widthX, y); // 释放对象 g2D.dispose(); }
BufferedImage image = new BufferedImage(300, 200, BufferedImage.TYPE_INT_ARGB); Graphics graphics = image.getGraphics(); graphics.setColor(c); graphics.fillRect(50, 50, 100, 100); graphics.dispose();
BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY); Graphics g = image.getGraphics(); g.drawImage(colorImage, 0, 0, null); g.dispose();
public void draw (BufferedImage image, Graphics2D g, UnicodeFont unicodeFont, Glyph glyph) { BufferedImage scratchImage = EffectUtil.getScratchImage(); filter.filter(image, scratchImage); image.getGraphics().drawImage(scratchImage, 0, 0, null); }
public static void main(String[] args) throws Exception { final BufferedImage image = ImageIO.read(new URL( "http://upload.wikimedia.org/wikipedia/en/2/24/Lenna.png")); Graphics g = image.getGraphics(); g.setFont(g.getFont().deriveFont(30f)); g.drawString("Hello World!", 100, 100); g.dispose(); ImageIO.write(image, "png", new File("test.png")); }
public static BufferedImage copyImage(BufferedImage source){ BufferedImage b = new BufferedImage(source.getWidth(), source.getHeight(), source.getType()); Graphics g = b.getGraphics(); g.drawImage(source, 0, 0, null); g.dispose(); return b; }
static Icon getColorIcon (java.awt.Color color) { BufferedImage image = new BufferedImage(32, 16, BufferedImage.TYPE_INT_RGB); java.awt.Graphics g = image.getGraphics(); g.setColor(color); g.fillRect(1, 1, 30, 14); g.setColor(java.awt.Color.black); g.drawRect(0, 0, 31, 15); return new ImageIcon(image); }
private ImageCode createImageCode() { int width = 100; // 验证码图片宽度 int height = 36; // 验证码图片长度 int length = 4; // 验证码位数 int expireIn = 60; // 验证码有效时间 60s BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); Graphics g = image.getGraphics(); Random random = new Random(); g.setColor(getRandColor(200, 250)); g.fillRect(0, 0, width, height); g.setFont(new Font("Times New Roman", Font.ITALIC, 20)); g.setColor(getRandColor(160, 200)); for (int i = 0; i < 155; i++) { int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x, y, x + xl, y + yl); } StringBuilder sRand = new StringBuilder(); for (int i = 0; i < length; i++) { String rand = String.valueOf(random.nextInt(10)); sRand.append(rand); g.setColor(new Color(20 + random.nextInt(110), 20 + random.nextInt(110), 20 + random.nextInt(110))); g.drawString(rand, 13 * i + 6, 16); } g.dispose(); return new ImageCode(image, sRand.toString(), expireIn); }
/** * 高保真缩放 */ private static BufferedImage resize(BufferedImage bi, int toWidth, int toHeight) { Graphics g = null; try { Image scaledImage = bi.getScaledInstance(toWidth, toHeight, Image.SCALE_SMOOTH); BufferedImage ret = new BufferedImage(toWidth, toHeight, BufferedImage.TYPE_INT_RGB); g = ret.getGraphics(); g.drawImage(scaledImage, 0, 0, null); return ret; } catch (Exception e) { throw new RuntimeException(e); } finally { if (g != null) { g.dispose(); } } }
final float FACTOR = 4f; BufferedImage img = ImageIO.read(new File("graphic.png")); int scaleX = (int) (img.getWidth() * FACTOR); int scaleY = (int) (img.getHeight() * FACTOR); Image image = img.getScaledInstance(scaleX, scaleY, Image.SCALE_SMOOTH); BufferedImage buffered = new BufferedImage(scaleX, scaleY, TYPE); buffered.getGraphics().drawImage(image, 0, 0 , null);
public BufferedImage getBufferedImage() { final BufferedImage bufferedImage = new BufferedImage(dimension.width, dimension.height, BufferedImage.TYPE_INT_ARGB); final Graphics graphics = bufferedImage.getGraphics(); graphics.setColor(backgroundColor); graphics.fillRect(0, 0, dimension.width, dimension.height); for (final WordCloud wordCloud : wordClouds) { graphics.drawImage(wordCloud.getBufferedImage(), 0, 0, null); } return bufferedImage; }
private void takeScreenshot(String fileName, Image image) ? new BufferedImage(clientUi.getWidth(), clientUi.getHeight(), BufferedImage.TYPE_INT_ARGB) : new BufferedImage(image.getWidth(null), image.getHeight(null), BufferedImage.TYPE_INT_ARGB); Graphics graphics = screenshot.getGraphics(); graphics.drawImage(image, gameOffsetX, gameOffsetY, null);