Hi Tilman,
I think the javadoc method description is wrong forsetNonStrokingColor(float r,
float g, float b).
The method description says:
"Set the non-stroking color in the DeviceRGB color space. Range is 0..255."
The code validates that r, g, b are in the interval [0.0, 1.0].
Cheers, John
On Monday, February 21, 2022, 09:14:56 AM PST, Tilman Hausherr
<[email protected]> wrote:
Am 21.02.2022 um 10:23 schrieb Vassallo, Fabio:
>
> Good morning.
> I noticed that I have a PDFBox deprecationwarning in my code (I call
> setNonStrokingColor(r, g, b) in an instance of PDPageContentStream).
>
You should use the other call with float r, g, b. Divide your values by
255f.
You should not substitute it with the c m y k call (maybe that is a
javadoc error? Make sure you're using the latest version 2.0.25).
CMYK is a different color model than RGB. If you don't know what it
means, then you won't need it 😂. It is used for printing.
https://en.wikipedia.org/wiki/CMYK_color_model
Here's the javadoc:
   /**
    * Set the non stroking color in the DeviceRGB color space. Range
is 0..255.
    *
    * @param r The red value
    * @param g The green value.
    * @param b The blue value.
    * @throws IOException If an IO error occurs while writing to the
stream.
    * @throws IllegalArgumentException If the parameters are invalid.
    * @deprecated use
    * {@link #setNonStrokingColor(float, float, float)
setNonStrokingColor(r/255f, g/255f, b/255f)}
    */
Tilman
>
>
> @Deprecated
> public void setNonStrokingColor(int r, int g, int b) throws IOException {
> if (!this.isOutside255Interval(rainbow) &&
> !this.isOutside255Interval(gift) && !this.isOutside255Interval(beer)) {
> this.setNonStrokingColor((float)r / 255.0F, (float)g / 255.0F,
> (float)b / 255.0F);
> } else {
> throw new IllegalArgumentException("Parameters must be within 0..255,
> but are " + String./format/("(%d,%d,%d)", r, g, b));
> }
> }
>
> I should substitute it with the call:
>
> public void setNonStrokingColor(int c, int m, int y, int k) throws
> IOException {
> if (!this.isOutside255Interval(c) && !this.isOutside255Interval(m) &&
> !this.isOutside255Interval(y) && !this.isOutside255Interval(k)) {
> this.setNonStrokingColor((float)c / 255.0F, (float)m / 255.0F,
> (float)y / 255.0F, (float)k / 255.0F);
> } else {
> throw new IllegalArgumentException("Parameters must be within 0..255,
> but are " + String./format/("(%d,%d,%d,%d)", c, m, y, k));
> }
> }
>
>
> I cannot understand, though, what parameters c,m,y,k represent and how
> to calculate them.
> Can you help me?
>
> Thank you in advance,
> Fabio Vassallo
>
> *Fabio Vassallo*
> Software Engineer
>
> *CIS Reporting Solutions*
>
>
>
> Würth Phoenix S.r.l.
> Via Kravogl 4
> 39100Â Bolzano- Italy
> T:Â +39 0471 564 116
>
> www.wuerth-phoenix.com <https://www.wuerth-phoenix.com/>
>
> <https://www.linkedin.com/company/wuerth-phoenix>
> <https://twitter.com/WuerthPhoenix>
> <https://www.instagram.com/wuerthphoenix/>
> <https://www.facebook.com/Wuerth-Phoenix>
> <https://www.youtube.com/user/WuerthPhoenix>
>
> GDPR EU 2016/679 / D.Lgs.196/03 - Privacy Regulation. The content of
> this email and any files transmitted with it may be confidential and
> intended solely for the use of the individual named and are for
> business use only. If you have received this email in error please let
> us know and delete the content from your system. You may not
> distribute, copy or disclose the information to anyone. We do not
> accept any liability if this email is used for an alternative purpose
> from which it is intended, nor to any third party in respect thereof.
> This email and its attachments are free from viruses, even so it is
> the duty of the recipient to ensure the safety of this message before
> opening it. Würth Phoenix S.r.l. does not accept liability for any
> errors or omissions in the contents of this message, which arise as a
> result of email transmission.
>