drawLine() ignores transparent colors with GD <= 2.1.0 · Issue #1349 · Intervention/image · GitHub
Skip to content

drawLine() ignores transparent colors with GD <= 2.1.0 #1349

Open

Description

@olivervogel

Describe the bug

The drawLine() function ignores a transparent color and draws the line completely opaque. #ffffff44 for example is drawn as #ffffffff.

The erroneous output was observed with GD version bundled (2.1.0 compatible), which is now about 8 years old and no longer supported. However, it still seems to be unfortunately present in many installations. For example, a recent official PHP 8.3 Docker image still contains this old version.

With a setup with the same version the line width is also ignored. See #1304

There were no problems with current GD versions (e.g. 2.3.3).

Code Example

$image = $manager
    ->create(500, 500)
    ->fill('ff5500')
    ->drawLine(function (LineFactory $line) {
        $line->color('fff4'); // transparency!
        $line->from(100, 100);
        $line->to(400, 100);
    });

Expected behavior

Function should draw line (half) transparent according to given color.

Environment

  • PHP Version: 8.1
  • OS: Debian
  • Intervention Image Version: 3.6.3
  • GD or Imagick: GD bundled (2.1.0 compatible)

Activity

  1. changed the title [-]drawLine() ignores line width and transparent colors with GD <= 2.1.0[/-] [+]drawLine() ignores transparent colors with GD <= 2.1.0[/+] on May 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions