Skip to content

RGB functions do not support real numbers #2339

Open
@michaeljherrmann

Description

@michaeljherrmann

Issue

RGB colors that contain a real number are not supported, while in browsers this works.
The official spec defines real numbers as a valid argument for the modern spec and browsers have supported this for several years so it would be nice to have consistency.

Steps to Reproduce

const { Canvas } = require('canvas');
const canvas = new Canvas();
const ctx = canvas.getContext('2d');

ctx.fillStyle = 'rgb(127,127.0,255)';
console.log(ctx.fillStyle); // output: #000000

ctx.fillStyle = 'rgb(127,127,255)';
console.log(ctx.fillStyle); // output: #7f7fff

I think this parsing may just have to be changed to floats?

Your Environment

  • Version of node-canvas: [email protected]
  • Environment: node v20.2.0 on macOS 14.2.1 (e.g. node 20.9.0 on macOS 14.1.1):

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions