Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.java.gui > #1321

Re: Making color image wi

From "gswarthout" <gswarthout@THRWHITE.remove-dii-this>
Subject Re: Making color image wi
Message-ID <1175195431.031212.162000@o5g2000hsb.googlegroups.com> (permalink)
Newsgroups comp.lang.java.gui
References <7wTOh.46622$A53.25962@newsfe13.lga>
Date 2011-04-27 15:32 +0000
Organization TDS.net

Show all headers | View raw


  To: comp.lang.java.gui
On Mar 29, 12:25 pm, Knute Johnson <nos...@rabbitbrush.frazmtn.com>
wrote:
> gswarth...@gmail.com wrote:
> > I need to turn a series of icon images into black & white equivalents
> > programattically in a paint method.
>
> > I'm starting with roughly circular images which are colored within and
> > everything outside of the circle is transparent.  The transparency
> > displays properly when the images are used in their normal form.
>
> > On the fly, however, I want to recolor select images into gray-scale
> > reflections of their original form, which I do with the following
> > code:
>
> > <Code>
> > BufferedImage grayImage = new BufferedImage(usableWidth, usableHeight,
> > BufferedImage.TYPE_BYTE_GRAY);
> > Graphics2D grayGraphics = grayImage.createGraphics();
> > grayGraphics.drawImage(originalImage, 0, 0, usableWidth, usableHeight,
> > this);
> > </Code>
>
> > This produces the effect I want with one problem, the previously
> > transparent corners of the image are now black.  I then draw this gray-
> > scale image into a new image which allows for transparency thusly:
>
> > <Code>
> > BufferedImage bufferedImage = new BufferedImage(usableWidth,
> > usableHeight, BufferedImage.TYPE_INT_ARGB);
> > Graphics2D g2d = bufferedImage.createGraphics();
> > g2d.drawImage(grayImage, 0, 0, usableWidth, usableHeight, this);
> > </Code>
>
> >>From here I have been unable to find a way to change the corners back
> > to being transparent (ignoring that it would turn all other instances
> > of black transparent as well).  I've tried XORing black with white
> > and, sure enough, this turns black into white and vice versa, but not
> > transparent.  I've tried it with new (Color 255, 255, 255, 0) which
> > would be a fully transparent white and it still doesn't work.
>
> > How can I accomplish this feat with either A) the way I started or, B)
> > a better way that I haven't explored?
>
> > Any help would be appreciated.
>
> > Greg
>
> Greg:
>
> Try this and see if it works for you.  You might have to play with the
> transparency.  If you want send me one of your images with the
> transparent pixels and I'll try it.
>
> import java.awt.*;
> import java.awt.image.*;
> import java.io.*;
> import javax.imageio.*;
>
> public class test {
>      public static void main (String[] args) throws Exception {
>          GraphicsEnvironment ge =
>           GraphicsEnvironment.getLocalGraphicsEnvironment();
>          GraphicsDevice gd = ge.getDefaultScreenDevice();
>          GraphicsConfiguration gc = gd.getDefaultConfiguration();
>
>          BufferedImage src = ImageIO.read(new File("saturn.jpg"));
>          BufferedImage dest =
>           new BufferedImage(src.getWidth(),src.getHeight(),
>           BufferedImage.TYPE_BYTE_GRAY);
>
>          ColorConvertOp op = new ColorConvertOp(
>           src.getColorModel().getColorSpace(),
>           dest.getColorModel().getColorSpace(),
>           null);
>
>          op.filter(src,dest);
>
>          ImageIO.write(dest,"JPG",new File("bw.jpg"));
>      }
>
> }
>
> --
>
> Knute Johnson
> email s/nospam/knute/

Unfortunately that, too, leaves the black corners intact.  I will look
into these filter ops further, though.

Greg

---
 * Synchronet * The Whitehouse BBS --- whitehouse.hulds.com --- check it out free usenet!
--- Synchronet 3.15a-Win32 NewsLink 1.92
Time Warp of the Future BBS - telnet://time.synchro.net:24

Back to comp.lang.java.gui | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Making color image with t "gswarthout" <gswarthout@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
  Re: Making color image wi "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
    Re: Making color image wi "Knute Johnson" <knute.johnson@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
    Re: Making color image wi "gswarthout" <gswarthout@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
    Re: Making color image wi "tar" <tar@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000
  Re: Making color image wi "gswarthout" <gswarthout@THRWHITE.remove-dii-this> - 2011-04-27 15:32 +0000

csiph-web