Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.java.gui > #1321
| 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 |
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 | Next — Previous in thread | Next in thread | Find similar | Unroll 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