Re: converting hex to PDColor
that worked. thank you very much On Mon, Mar 13, 2017 at 8:37 PM, chitgoks wrote: > thank you all for thebresponse > > i will try this out and confirm > > > On Mon, 13 Mar 2017 at 8:26 PM Lachezar Dobrev 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 & 0xFF) >> 16) / 255f; >> float g = ((c & 0x00FF00) >> 8) / 255f; >> float b = ((c & 0xFF) >> 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 : >> > 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 >
Re: converting hex to PDColor
thank you all for thebresponse i will try this out and confirm On Mon, 13 Mar 2017 at 8:26 PM Lachezar Dobrev 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 & 0xFF) >> 16) / 255f; > float g = ((c & 0x00FF00) >> 8) / 255f; > float b = ((c & 0xFF) >> 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 : > > 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
Re: converting hex to PDColor
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 & 0xFF) >> 16) / 255f; float g = ((c & 0x00FF00) >> 8) / 255f; float b = ((c & 0xFF) >> 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 : > 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
Re: converting hex to PDColor
> chitgoks hat am 13. März 2017 um 11:27 geschrieben: > > > 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); You can omit the PDColor step as those int values are already the values you are looking for red = Integer.valueOf(colorStr.substring(1, 3), 16) and so on. > > the result is pink-ish (the wrong color), instead of orange-ish (the > correct color). Where do you see that wrong color? In the resulting PDF? If the latter, please share the doc with us. BR Andreas - To unsubscribe, e-mail: users-unsubscr...@pdfbox.apache.org For additional commands, e-mail: users-h...@pdfbox.apache.org
converting hex to PDColor
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).