thank you all for thebresponse

i will try this out and confirm


On Mon, 13 Mar 2017 at 8:26 PM Lachezar Dobrev <l.dob...@gmail.com> wrote:

>   Hmm...
>
>   1. java.awt.Color.decode(colorStr);
>   2. You're using integer division "rgb.getRed()/255" will yield 0 or
> 1, which is then cast to float. Use "getRed()/255f" to get a float
> result.
>
>   Your integer division code will only yield a red colour with
> #FF8000, which I suspect gets superimposed on a white background (with
> alpha, dithering, blurring, whatever) and ends up being pinkish.
>
>   Also the Color step is totally unnecessary:
>
>   int c = Integer.parseInt(colorStr.substring(1), 16);
>   float r = ((c & 0xFF0000) >> 16) / 255f;
>   float g = ((c & 0x00FF00) >>  8) / 255f;
>   float b = ((c & 0x0000FF) >>  0) / 255f; // The ">> 0" can be omitted
>   PDColor pdc = new PDColor( new float[] { r, g, b },
> PDDeviceRGB.INSTANCE);
>
> 2017-03-13 12:27 GMT+02:00 chitgoks <chitg...@gmail.com>:
> > hi again
> >
> > a little assistance regarding converting hex to PDColor.
> >
> > please take this example #ff8000
> >
> > and this is my code
> >
> > String colorStr = "#ff8000";
> > java.awt.Color rgb = new java.awt.Color(
> >             Integer.valueOf(colorStr.substring(1, 3), 16),
> >             Integer.valueOf(colorStr.substring(3, 5), 16),
> >             Integer.valueOf(colorStr.substring(5, 7), 16))
> >
> > PDColor pdcolor = new PDColor(new float[] { rgb.getRed() / 255,
> > rgb.getGreen() / 255, rgb.getBlue() / 255}, PDDeviceRGB.INSTANCE);
> >
> > the result is pink-ish (the wrong color), instead of orange-ish (the
> > correct color).
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org
> For additional commands, e-mail: users-h...@pdfbox.apache.org
>
> --
Website/Java Games: http://www.chitgoks.com
My Blogs:
http://tech.chitgoks.com
http://wuhtevah.chitgoks.com
http://disneyusa.blogspot.com

Reply via email to