List of usage examples for java.awt Image getSource
public abstract ImageProducer getSource();
From source file:GetRedFilter.java
public static void main(String[] argv) throws Exception { Image image = new ImageIcon("image.gif").getImage(); ImageFilter filter = new GetRedFilter(); FilteredImageSource filteredSrc = new FilteredImageSource(image.getSource(), filter); image = Toolkit.getDefaultToolkit().createImage(filteredSrc); }
From source file:RGBGrayFilter.java
/** * Returns an icon with a disabled appearance. This method is used * to generate a disabled icon when one has not been specified. * * @param component the component that will display the icon, may be null. * @param icon the icon to generate disabled icon from. * @return disabled icon, or null if a suitable icon can not be generated. *//*from w w w .j a va 2 s.c o m*/ public static Icon getDisabledIcon(JComponent component, Icon icon) { if ((icon == null) || (component == null) || (icon.getIconWidth() == 0) || (icon.getIconHeight() == 0)) { return null; } Image img; if (icon instanceof ImageIcon) { img = ((ImageIcon) icon).getImage(); } else { img = new BufferedImage(icon.getIconWidth(), icon.getIconHeight(), BufferedImage.TYPE_INT_ARGB); icon.paintIcon(component, img.getGraphics(), 0, 0); } ImageProducer producer = new FilteredImageSource(img.getSource(), new RGBGrayFilter()); return new ImageIcon(component.createImage(producer)); }
From source file:Transparency.java
public static Image makeColorTransparent(Image im, final Color color) { ImageFilter filter = new RGBImageFilter() { // the color we are looking for... Alpha bits are set to opaque public int markerRGB = color.getRGB() | 0xFF000000; @Override// w w w. jav a 2 s. c om public final int filterRGB(int x, int y, int rgb) { if ((rgb | 0xFF000000) == markerRGB) { // Mark the alpha bits as zero - transparent return 0x00FFFFFF & rgb; } else { // nothing to do return rgb; } } }; ImageProducer ip = new FilteredImageSource(im.getSource(), filter); return Toolkit.getDefaultToolkit().createImage(ip); }
From source file:com.piaoyou.util.ImageUtil.java
public static Image getScaledInstance(Image srcImage, int width, int height) { boolean useSun = false; ImageFilter filter;/*ww w. j a v a2 s . c o m*/ if (useSun) { //log.trace("use sun scalefilter"); filter = new java.awt.image.AreaAveragingScaleFilter(width, height); } else { //log.trace("use nguoimau scalefilter"); filter = new AreaAveragingScaleFilter(width, height); // filter = new java.awt.image.AreaAveragingScaleFilter(width, height); } ImageProducer prod = new FilteredImageSource(srcImage.getSource(), filter); Image newImage = Toolkit.getDefaultToolkit().createImage(prod); ImageIcon imageIcon = new ImageIcon(newImage); return imageIcon.getImage(); }
From source file:com.krawler.esp.handlers.FileUploadHandler.java
private BufferedImage scaleImage(Image sourceImage, int width, int height, int typeRGB) { ImageFilter filter = new ReplicateScaleFilter(width, height); ImageProducer producer = new FilteredImageSource(sourceImage.getSource(), filter); Image resizedImage = Toolkit.getDefaultToolkit().createImage(producer); return this.toBufferedImage(resizedImage, typeRGB); }
From source file:com.ssn.listener.SSNFacebookAlbumSelectionListener.java
private void createComponents(SSNHomeForm ssnHomeForm, List<Photo> completePhotoList, SSNAlbumNode albumNode) { SSNHelper.toggleDeleteAndShareImages(false, ssnHomeForm); try {/*from w w w.j a va 2s. co m*/ List<File> listOfFiles = new ArrayList<File>(); File facebookPhotosDir = new File( SSNHelper.getFacebookPhotosDirPath() + albumNode.getAlbum().getName() + File.separator); if (!facebookPhotosDir.exists()) { facebookPhotosDir.mkdir(); } for (Photo photo : completePhotoList) { String imageUrl = ""; for (Image image : photo.getImages()) { if (image != null && image.getHeight() <= 500) { imageUrl = image.getSource(); break; } } if (imageUrl.isEmpty()) { imageUrl = photo.getSource(); } URL url = new URL(imageUrl); File file = new File(facebookPhotosDir.getAbsolutePath() + File.separator + photo.getId() + ".jpg"); if (!file.exists()) { try { FileUtils.copyURLToFile(url, file); listOfFiles.add(file); } catch (Exception e) { logger.error(e); } } else { listOfFiles.add(file); } } File[] fileArray = listOfFiles.toArray(new File[0]); SSNGalleryHelper contentPane = new SSNGalleryHelper(fileArray, ssnHomeForm); contentPane.setBackground(SSNConstants.SSN_BLACK_BACKGROUND_COLOR); ssnHomeForm.getSsnHomeCenterPanel().removeAll(); ssnHomeForm.getSsnHomeCenterMainPanel().removeAll(); ssnHomeForm.getSsnHomeCenterPanel().add(ssnHomeForm.getScrollPane(contentPane, SSNHelper.getAlbumNameFromPath(ssnHomeForm.ssnFileExplorer.m_display.getText()))); ssnHomeForm .getSsnHomeCenterMainPanel().add( ssnHomeForm.getSortPanel("Date", false, SSNHelper .getAlbumNameFromPath(ssnHomeForm.ssnFileExplorer.m_display.getText())), BorderLayout.NORTH); ssnHomeForm.getSsnHomeCenterMainPanel().add(ssnHomeForm.getSsnHomeCenterPanel(), BorderLayout.CENTER); ssnHomeForm.getHomeModel().getSSNMediaFolderProperties( ssnHomeForm.getHomeModel().getHomeForm().ssnFileExplorer.m_display.getText(), fileArray); // ssnHomeForm.add(ssnHomeForm.getSsnHomeCenterMainPanel()); // ssnHomeForm.getSplitPane().setLeftComponent(ssnHomeForm.getSsnHomeLeftMainPanel()); // ssnHomeForm.getSplitPane().setRightComponent(ssnHomeForm.getSsnHomeCenterMainPanel()); // //ssnHomeForm.getSplitPane().setDividerLocation(200); // ssnHomeForm.getSplitPane().revalidate(); // ssnHomeForm.getSplitPane().repaint(); ssnHomeForm.revalidate(); ssnHomeForm.repaint(); ssnHomeForm.setCursor(new Cursor(Cursor.DEFAULT_CURSOR)); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.krawler.esp.handlers.genericFileUpload.java
private BufferedImage scaleImage(Image sourceImage, int width, int height) { ImageFilter filter = new ReplicateScaleFilter(width, height); ImageProducer producer = new FilteredImageSource(sourceImage.getSource(), filter); Image resizedImage = Toolkit.getDefaultToolkit().createImage(producer); return this.toBufferedImage(resizedImage); }
From source file:com.krawler.esp.handlers.genericFileUpload.java
private BufferedImage scaleCompanyImage(Image sourceImage, int width, int height) { ImageFilter filter = new ReplicateScaleFilter(width, height); ImageProducer producer = new FilteredImageSource(sourceImage.getSource(), filter); Image resizedImage = Toolkit.getDefaultToolkit().createImage(producer); return this.toBufferedCompanyImage(resizedImage); }
From source file:com.ace.erp.controller.sys.company.OrganizationController.java
@RequestMapping(value = "/company/uploadLogo", method = RequestMethod.POST) @ResponseBody/*from w w w . ja v a 2s.c o m*/ public Response uploadLogo(@CurrentUser User user, String srcImageFile, int x, int y, int destWidth, int destHeight, int srcShowWidth, int srcShowHeight, HttpServletRequest request) { try { String path = request.getSession().getServletContext().getRealPath("/"); String contextPath = request.getContextPath(); Image img; ImageFilter cropFilter; //String srcFileName = FilenameUtils.getName(srcImageFile); String srcFileName = StringUtils.isNotBlank(contextPath) ? srcImageFile.replaceFirst(contextPath, "") : srcImageFile; // ??? File srcFile = new File(path + "/" + srcFileName); BufferedImage bi = ImageIO.read(srcFile); //?????????? int srcWidth = bi.getWidth(); // ? int srcHeight = bi.getHeight(); // ? if (srcShowWidth == 0) srcShowWidth = srcWidth; if (srcShowHeight == 0) srcShowHeight = srcHeight; if (srcShowWidth >= destWidth && srcShowHeight >= destHeight) { //??? Image image = bi.getScaledInstance(srcShowWidth, srcShowHeight, Image.SCALE_DEFAULT); cropFilter = new CropImageFilter(x, y, destWidth, destHeight); img = Toolkit.getDefaultToolkit() .createImage(new FilteredImageSource(image.getSource(), cropFilter)); BufferedImage tag = new BufferedImage(destWidth, destHeight, BufferedImage.TYPE_INT_RGB); Graphics g = tag.getGraphics(); g.drawImage(img, 0, 0, null); // ?? g.dispose(); String ext = FilenameUtils.getExtension(srcImageFile); //path += HEADER_PIC; //User loginUser = SystemUtil.getLoginUser(request.getSession()); //String fileName = user.getOrganizationList().get(0).getId()+""; File destImageFile = new File(path + "/" + System.currentTimeMillis() + ".jpg"); // ImageIO.write(tag, ext, destImageFile); //loginUser.setPicPath(SystemConst.SYSTEM_CONTEXT_PATH_VALUE + HEADER_PIC + "/" + fileName); //userService.update(loginUser); // srcFile.delete(); return new Response(new ResponseHeader(200, 20)); } } catch (Exception e) { e.printStackTrace(); } return null; }
From source file:com.chiorichan.factory.event.PostImageProcessor.java
@EventHandler() public void onEvent(PostEvalEvent event) { try {/*from www. j av a 2s .c o m*/ if (event.context().contentType() == null || !event.context().contentType().toLowerCase().startsWith("image")) return; float x = -1; float y = -1; boolean cacheEnabled = AppConfig.get().getBoolean("advanced.processors.imageProcessorCache", true); boolean grayscale = false; ScriptingContext context = event.context(); HttpRequestWrapper request = context.request(); Map<String, String> rewrite = request.getRewriteMap(); if (rewrite != null) { if (rewrite.get("serverSideOptions") != null) { String[] params = rewrite.get("serverSideOptions").trim().split("_"); for (String p : params) if (p.toLowerCase().startsWith("width") && x < 0) x = Integer.parseInt(p.substring(5)); else if ((p.toLowerCase().startsWith("x") || p.toLowerCase().startsWith("w")) && p.length() > 1 && x < 0) x = Integer.parseInt(p.substring(1)); else if (p.toLowerCase().startsWith("height") && y < 0) y = Integer.parseInt(p.substring(6)); else if ((p.toLowerCase().startsWith("y") || p.toLowerCase().startsWith("h")) && p.length() > 1 && y < 0) y = Integer.parseInt(p.substring(1)); else if (p.toLowerCase().equals("thumb")) { x = 150; y = 0; break; } else if (p.toLowerCase().equals("bw") || p.toLowerCase().equals("grayscale")) grayscale = true; } if (request.getArgument("width") != null && request.getArgument("width").length() > 0) x = request.getArgumentInt("width"); if (request.getArgument("height") != null && request.getArgument("height").length() > 0) y = request.getArgumentInt("height"); if (request.getArgument("w") != null && request.getArgument("w").length() > 0) x = request.getArgumentInt("w"); if (request.getArgument("h") != null && request.getArgument("h").length() > 0) y = request.getArgumentInt("h"); if (request.getArgument("thumb") != null) { x = 150; y = 0; } if (request.hasArgument("bw") || request.hasArgument("grayscale")) grayscale = true; } // Tests if our Post Processor can process the current image. List<String> readerFormats = Arrays.asList(ImageIO.getReaderFormatNames()); List<String> writerFormats = Arrays.asList(ImageIO.getWriterFormatNames()); if (context.contentType() != null && !readerFormats.contains(context.contentType().split("/")[1].toLowerCase())) return; int inx = event.context().buffer().readerIndex(); BufferedImage img = ImageIO.read(new ByteBufInputStream(event.context().buffer())); event.context().buffer().readerIndex(inx); if (img == null) return; float w = img.getWidth(); float h = img.getHeight(); float w1 = w; float h1 = h; if (x < 1 && y < 1) { x = w; y = h; } else if (x > 0 && y < 1) { w1 = x; h1 = x * (h / w); } else if (y > 0 && x < 1) { w1 = y * (w / h); h1 = y; } else if (x > 0 && y > 0) { w1 = x; h1 = y; } boolean resize = w1 > 0 && h1 > 0 && w1 != w && h1 != h; boolean argb = request.hasArgument("argb") && request.getArgument("argb").length() == 8; if (!resize && !argb && !grayscale) return; // Produce a unique encapsulated id based on this image processing request String encapId = SecureFunc.md5(context.filename() + w1 + h1 + request.getArgument("argb") + grayscale); File tmp = context.site() == null ? AppConfig.get().getDirectoryCache() : context.site().directoryTemp(); File file = new File(tmp, encapId + "_" + new File(context.filename()).getName()); if (cacheEnabled && file.exists()) { event.context().resetAndWrite(FileUtils.readFileToByteArray(file)); return; } Image image = resize ? img.getScaledInstance(Math.round(w1), Math.round(h1), AppConfig.get().getBoolean("advanced.processors.useFastGraphics", true) ? Image.SCALE_FAST : Image.SCALE_SMOOTH) : img; // TODO Report malformed parameters to user if (argb) { FilteredImageSource filteredSrc = new FilteredImageSource(image.getSource(), new RGBColorFilter((int) Long.parseLong(request.getArgument("argb"), 16))); image = Toolkit.getDefaultToolkit().createImage(filteredSrc); } BufferedImage rtn = new BufferedImage(Math.round(w1), Math.round(h1), img.getType()); Graphics2D graphics = rtn.createGraphics(); graphics.drawImage(image, 0, 0, null); graphics.dispose(); if (grayscale) { ColorConvertOp op = new ColorConvertOp(ColorSpace.getInstance(ColorSpace.CS_GRAY), null); op.filter(rtn, rtn); } if (resize) Log.get().info(EnumColor.GRAY + "Resized image from " + Math.round(w) + "px by " + Math.round(h) + "px to " + Math.round(w1) + "px by " + Math.round(h1) + "px"); if (rtn != null) { ByteArrayOutputStream bs = new ByteArrayOutputStream(); if (context.contentType() != null && writerFormats.contains(context.contentType().split("/")[1].toLowerCase())) ImageIO.write(rtn, context.contentType().split("/")[1].toLowerCase(), bs); else ImageIO.write(rtn, "png", bs); if (cacheEnabled && !file.exists()) FileUtils.writeByteArrayToFile(file, bs.toByteArray()); event.context().resetAndWrite(bs.toByteArray()); } } catch (Throwable e) { e.printStackTrace(); } return; }