List of usage examples for java.awt.image BufferedImage BufferedImage
public BufferedImage(int width, int height, int imageType)
From source file:biz.ixnay.pivot.charts.skin.jfree.JFreeChartViewSkin.java
@Override public void paint(Graphics2D graphics) { int width = getWidth(); int height = getHeight(); if (bufferedImage == null || bufferedImage.getWidth() != width || bufferedImage.getHeight() != height) { chart = createChart();//www . ja v a2 s. c om bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB); Graphics2D bufferedImageGraphics = (Graphics2D) bufferedImage.getGraphics(); java.awt.Rectangle area = new java.awt.Rectangle(0, 0, width, height); chart.setBackgroundPaint(null); chart.getPlot().setBackgroundPaint(getBackgroundColor()); chart.draw(bufferedImageGraphics, area, chartRenderingInfo); bufferedImageGraphics.dispose(); } graphics.drawImage(bufferedImage, 0, 0, null); }
From source file:com.us.servlet.AuthCode.java
protected void service(HttpServletRequest request, HttpServletResponse response) { final CodeAuth bean = AppHelper.CODE_AUTH; int width = NumberUtils.toInt(request.getParameter("width"), bean.getWidth()); int height = NumberUtils.toInt(request.getParameter("height"), bean.getHeight()); int x = width / (bean.getLength() + 1); int codeY = height - 4; int fontHeight = height - 2; BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_4BYTE_ABGR); Graphics2D graphics = image.createGraphics(); graphics.setRenderingHint(RenderingHints.KEY_TEXT_ANTIALIASING, RenderingHints.VALUE_TEXT_ANTIALIAS_ON); if (StringUtil.hasText(request.getParameter("bgcolor"))) { graphics.setBackground(ColorHelper.hex2RGB(request.getParameter("bgcolor"))); }/*from ww w . j a v a 2 s . c om*/ graphics.fillRect(0, 0, width, height); graphics.setFont(new Font(bean.getFont(), Font.BOLD, fontHeight)); graphics.drawRect(0, 0, width - 1, height - 1); // if (bean.isBreakLine()) { for (int i = 0; i < 15; i++) { int x1 = RandomUtils.nextInt(width); int y1 = RandomUtils.nextInt(height); int x2 = RandomUtils.nextInt(12); int y2 = RandomUtils.nextInt(12); graphics.drawLine(x1, y1, x + x2, y1 + y2); } } char[] CHARSET_AREA = null; if (bean.getType().charAt(0) == '1') { CHARSET_AREA = ArrayUtils.addAll(CHARSET_AREA, BIG_LETTERS); } if (bean.getType().charAt(1) == '1') { CHARSET_AREA = ArrayUtils.addAll(CHARSET_AREA, SMALL_LETTER); } if (bean.getType().charAt(2) == '1') { CHARSET_AREA = ArrayUtils.addAll(CHARSET_AREA, NUMBERS); } StringBuilder randomCode = new StringBuilder(); for (int i = 0; i < bean.getLength(); i++) { String rand = String.valueOf(CHARSET_AREA[RandomUtils.nextInt(CHARSET_AREA.length)]); graphics.setColor(ColorHelper.color(RandomUtils.nextInt(255), RandomUtils.nextInt(255), RandomUtils.nextInt(255))); graphics.drawString(rand, (i + 1) * x, codeY); randomCode.append(rand); } HttpSession session = request.getSession(); session.setAttribute(bean.getSessionKey(), randomCode.toString()); // ? response.setHeader("Pragma", "no-cache"); response.setHeader("Cache-Control", "no-cache"); response.setDateHeader("Expires", 0); response.setContentType("image/png"); try { // Servlet? ServletOutputStream sos = response.getOutputStream(); ImageIO.write(image, "png", sos); sos.close(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.t3.image.ThumbnailManager.java
private Image createThumbnail(File file) throws IOException { // Gather info File thumbnailFile = getThumbnailFile(file); if (thumbnailFile.exists()) { return ImageUtil.getImage(thumbnailFile); }//from ww w . j a v a2s. c om Image image = ImageUtil.getImage(file); // Should we bother making a thumbnail ? if (file.length() < 30 * 1024) { return image; } // Transform the image Dimension imgSize = new Dimension(image.getWidth(null), image.getHeight(null)); SwingUtil.constrainTo(imgSize, thumbnailSize.width, thumbnailSize.height); BufferedImage thumbnailImage = new BufferedImage(imgSize.width, imgSize.height, ImageUtil.pickBestTransparency(image)); Graphics2D g = thumbnailImage.createGraphics(); g.setRenderingHint(RenderingHints.KEY_RENDERING, RenderingHints.VALUE_RENDER_QUALITY); g.drawImage(image, 0, 0, imgSize.width, imgSize.height, null); g.dispose(); // Ensure path exists if (thumbnailFile.exists()) thumbnailFile.delete(); else thumbnailFile.getParentFile().mkdirs(); try (OutputStream os = new FileOutputStream(thumbnailFile)) { IOUtils.write(ImageUtil.imageToBytes(thumbnailImage, "png"), os); } return thumbnailImage; }
From source file:com.smash.revolance.ui.model.helper.ImageHelper.java
public static BufferedImage scaleImage(BufferedImage image, double widthPerCent, double heightPerCent) { int w = (int) (image.getWidth() * widthPerCent); int h = (int) (image.getHeight() * heightPerCent); int t = image.getType(); Image scaledImage = image.getScaledInstance(w, h, Image.SCALE_SMOOTH); BufferedImage newImg = new BufferedImage(w, h, t); newImg.getGraphics().drawImage(scaledImage, 0, 0, null); return newImg; }
From source file:ThumbnailTools.java
/** * Save the thumbnail to the specified file, with the specified type * @param file the file/*from w w w . ja v a2 s. co m*/ * @param imageType the image type */ public void saveThumbnail(File file, String imageType) { if (thumb != null) { BufferedImage bi = new BufferedImage(thumb.getIconWidth(), thumb.getIconHeight(), BufferedImage.TYPE_INT_RGB); Graphics g = bi.getGraphics(); g.drawImage(thumb.getImage(), 0, 0, null); try { ImageIO.write(bi, imageType, file); } catch (IOException ioe) { throw new RuntimeException("Error occured saving thumbnail"); } } else { throw new RuntimeException("Thumbnail have to be created before."); } }
From source file:com.lixiaocong.service.ImageCodeService.java
public BufferedImage getImage(HttpSession session) { //background/*from ww w . j a v a2 s .c om*/ BufferedImage bi = new BufferedImage(WIDTH, HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics graphics = bi.getGraphics(); graphics.setColor(randomColor()); graphics.fillRect(0, 0, WIDTH, HEIGHT); //content StringBuilder sb = new StringBuilder(); int len = ch.length; Random random = new Random(); for (int i = 0; i < 4; i++) { int index = random.nextInt(len); graphics.setColor(randomColor()); graphics.setFont(new Font(null, Font.BOLD + Font.ITALIC, 30)); graphics.drawString(ch[index] + "", i * 15 + 5, 25); sb.append(ch[index]); } session.setAttribute("imagecode", sb.toString()); //lines for (int i = 0; i < 4; i++) { graphics.setColor(randomColor()); graphics.drawLine(random.nextInt(WIDTH), random.nextInt(HEIGHT), random.nextInt(WIDTH), random.nextInt(HEIGHT)); } return bi; }
From source file:com.baidu.rigel.biplatform.ma.auth.resource.RandomValidateCode.java
/** * // w ww .j a v a 2 s.c o m * @param request * @param response * @param cacheManagerForResource */ public static void getRandcode(HttpServletRequest request, HttpServletResponse response, CacheManagerForResource cacheManagerForResource) { // BufferedImageImage,Image???? BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_INT_BGR); Graphics g = image.getGraphics(); // ImageGraphics,????? g.fillRect(0, 0, width, height); g.setFont(new Font("Times New Roman", Font.ROMAN_BASELINE, 18)); g.setColor(getRandColor(110, 133)); // for (int i = 0; i <= lineSize; i++) { drowLine(g); } // ? String randomString = ""; for (int i = 1; i <= stringNum; i++) { randomString = drowString(g, randomString, i); } String key = null; if (request.getCookies() != null) { for (Cookie tmp : request.getCookies()) { if (tmp.getName().equals(Constants.RANDOMCODEKEY)) { key = tmp.getName(); cacheManagerForResource.removeFromCache(key); break; } } } if (StringUtils.isEmpty(key)) { key = String.valueOf(System.nanoTime()); } cacheManagerForResource.setToCache(key, randomString); final Cookie cookie = new Cookie(Constants.RANDOMCODEKEY, key); cookie.setPath(Constants.COOKIE_PATH); response.addCookie(cookie); g.dispose(); try { ImageIO.write(image, "JPEG", response.getOutputStream()); // ?? } catch (Exception e) { LOG.info(e.getMessage()); } }
From source file:$.SayHiImage.java
private void writeImage(OutputStream out) throws IOException { BufferedImage img = new BufferedImage(800, 600, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = img.createGraphics(); g2d.setPaint(Color.red);//from w w w . ja v a 2 s . c om g2d.setFont(new Font("Serif", Font.BOLD, 36)); g2d.drawString("Hi there, how are you doing today?", 5, g2d.getFontMetrics().getHeight()); g2d.dispose(); ImageIO.write(img, "jpg", out); }
From source file:org.osjava.reportrunner_plugins.renderers.jfreechart.creators.TexturedBarRenderer.java
public java.awt.Paint getSeriesPaint(int row) { BufferedImage bufferedImage = new BufferedImage(5, 5, BufferedImage.TYPE_INT_RGB); Graphics2D big = bufferedImage.createGraphics(); TexturePaint texture = null;//from w w w . java 2 s . c o m int rowNum = row + 1; int patNum = 13; int formula = rowNum - ((rowNum / patNum) * patNum); if (formula == 0) { big.setColor(Color.orange); big.fillRect(0, 0, 5, 5); big.fillRect(1, 0, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 1) { big.setColor(Color.red); big.fillRect(0, 0, 5, 5); big.fillRect(1, 0, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 2) { Color color = Color.blue; big.setColor(Color.white); big.fillRect(0, 0, 5, 5); big.setColor(color); big.fillRect(0, 1, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 3) { Color color = Color.yellow; big.setColor(Color.orange); big.fillRect(0, 0, 5, 5); big.setColor(color); big.fillRect(1, 1, 4, 4); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 4) { big.setColor(Color.green); big.fillRect(0, 0, 5, 5); big.fillRect(1, 0, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 5) { big.setColor(Color.magenta); big.fillRect(0, 0, 5, 5); big.setColor(Color.pink); big.fillRect(0, 0, 4, 4); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 6) { float[] x = { .5f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 4.5f, 5.0f }; float[] y = { .5f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 4.5f, 5.0f }; GeneralPath path = new GeneralPath(); path.moveTo(x[0], y[0]); for (int j = 1; j < x.length; j++) { path.lineTo(x[j], y[j]); } big.setColor(new Color(226, 199, 252)); big.fillRect(0, 0, 5, 5); big.setColor(Color.blue); big.setStroke(new BasicStroke(1.0f)); big.draw(path); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 7) { big.setColor(Color.lightGray); big.fillRect(0, 0, 5, 5); big.setColor(Color.red); big.fillRect(1, 0, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 8) { float[] x = { .5f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 4.5f, 5.0f }; float[] y = { .5f, 1.5f, 2.0f, 2.5f, 3.0f, 3.5f, 4.0f, 4.5f, 5.0f }; GeneralPath path = new GeneralPath(); path.moveTo(x[0], y[0]); for (int j = 1; j < x.length; j++) { path.lineTo(x[j], y[j]); } big.setColor(Color.blue); big.fillRect(0, 0, 5, 5); big.setColor(Color.cyan); big.setStroke(new BasicStroke(2.0f)); big.draw(path); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 9) { Color color = new Color(0xBBBBDD); big.setColor(color); big.fillRect(0, 0, 5, 5); big.setColor(new Color(199, 201, 230)); big.fillRect(1, 0, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 10) { float[] x = { 1, 2, 3, 4, 5 }; float[] y = { 1, 2, 3, 4, 5 }; GeneralPath path = new GeneralPath(); path.moveTo(x[0], y[1]); path.lineTo(x[1], y[0]); path.moveTo(x[0], y[2]); path.lineTo(x[2], y[0]); path.moveTo(x[0], y[3]); path.lineTo(x[3], y[0]); path.moveTo(x[0], y[4]); path.lineTo(x[4], y[0]); big.setColor(Color.red); big.fillRect(0, 0, 5, 5); big.setColor(new Color(242, 242, 193)); big.setStroke(new BasicStroke(3.0f)); big.draw(path); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 11) { big.setColor(new Color(252, 169, 171)); big.fillOval(0, 0, 5, 6); big.setColor(new Color(252, 230, 230)); big.fillOval(0, 0, 3, 3); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } else if (formula == 12) { big.setColor(Color.green); big.fillRect(0, 0, 5, 5); big.setColor(new Color(20, 178, 38)); big.fillRect(2, 2, 5, 5); Rectangle r = new Rectangle(0, 0, 5, 5); texture = new TexturePaint(bufferedImage, r); } return texture; }
From source file:blusunrize.immersiveengineering.client.render.IEShaderLayerCompositeTexture.java
@Override public void loadTexture(IResourceManager resourceManager) { this.deleteGlTexture(); IResource iresource = null;/*from w w w .java2 s.c om*/ BufferedImage bufferedimage; BufferedImage scaledImage; label255: { try { iresource = resourceManager.getResource(this.canvasTexture); BufferedImage canvasImage = TextureUtil.readBufferedImage(iresource.getInputStream()); int imageType = canvasImage.getType(); if (imageType == 0) imageType = 6; int canvasWidth = canvasImage.getWidth(); int canvasHeight = canvasImage.getHeight(); bufferedimage = new BufferedImage(canvasWidth, canvasHeight, imageType); int layer = 0; while (true) { if (layer >= 17 || layer >= this.layers.length) break label255; IResource iresource1 = null; try { String texPath = this.layers[layer].getTexture().getPath(); if (!texPath.startsWith("textures/")) texPath = "textures/" + texPath; if (!texPath.endsWith(".png")) texPath += ".png"; String texture = this.layers[layer].getTexture().getNamespace() + ":" + texPath; int colour = this.layers[layer].getColour(); iresource1 = resourceManager.getResource(new ResourceLocation(texture)); BufferedImage texureImage = TextureUtil.readBufferedImage(iresource1.getInputStream()); scaledImage = new BufferedImage(canvasWidth, canvasHeight, imageType); float[] mod = { (colour >> 16 & 255) / 255f, (colour >> 8 & 255) / 255f, (colour & 255) / 255f, (colour >> 24 & 255) / 255f }; IntFunction<Integer> uInterpolate = uIn -> uIn; IntFunction<Integer> vInterpolate = vIn -> vIn; int bufImg2Size = Math.min(texureImage.getWidth(), texureImage.getHeight()); int uMin = 0; int vMin = 0; int uMax = canvasWidth; int vMax = canvasHeight; final double[] texBounds = this.layers[layer].getTextureBounds(); if (texBounds != null) { final double uOffset = texBounds[0] * canvasWidth; final double vOffset = texBounds[1] * canvasHeight; final double uScale = bufImg2Size / ((texBounds[2] - texBounds[0]) * canvasWidth); final double vScale = bufImg2Size / ((texBounds[3] - texBounds[1]) * canvasHeight); uInterpolate = uIn -> (int) Math.round((uIn - uOffset) * uScale); vInterpolate = vIn -> (int) Math.round((vIn - vOffset) * vScale); uMin = (int) uOffset; vMin = (int) vOffset; uMax = (int) (texBounds[2] * canvasWidth); vMax = (int) (texBounds[3] * canvasHeight); } try { for (int v = vMin; v < vMax; ++v) for (int u = uMin; u < uMax; ++u) { int interU = uInterpolate.apply(u) % bufImg2Size; int interV = vInterpolate.apply(v) % bufImg2Size; int iRGB = texureImage.getRGB(interU, interV); float[] rgb = { (iRGB >> 16 & 255) / 255f, (iRGB >> 8 & 255) / 255f, (iRGB & 255) / 255f, (iRGB >> 24 & 255) / 255f }; if ((iRGB & -16777216) != 0) { int iNoise = canvasImage.getRGB(u, v); float[] noise = { (iNoise >> 16 & 255) / 255f, (iNoise >> 8 & 255) / 255f, (iNoise & 255) / 255f, (iNoise >> 24 & 255) / 255f }; for (int m = 0; m < 4; m++) rgb[m] = rgb[m] * mod[m] * noise[m]; int[] irgb = { (int) (rgb[0] * 255), (int) (rgb[1] * 255), (int) (rgb[2] * 255), (int) (rgb[3] * 255) }; int i2 = (irgb[0] << 16) + (irgb[1] << 8) + (irgb[2]) + (irgb[3] << 24); scaledImage.setRGB(u, v, i2); } } } catch (Exception e) { e.printStackTrace(); } bufferedimage.getGraphics().drawImage(scaledImage, 0, 0, null); } finally { IOUtils.closeQuietly(iresource1); } ++layer; } } catch (IOException ioexception) { IELogger.error("Couldn't load layered image", ioexception); } finally { IOUtils.closeQuietly(iresource); } return; } TextureUtil.uploadTextureImage(this.getGlTextureId(), bufferedimage); }