Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:100241 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 3627 invoked from network); 17 Aug 2017 05:03:23 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 17 Aug 2017 05:03:23 -0000 Authentication-Results: pb1.pair.com smtp.mail=pierre.php@gmail.com; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=pierre.php@gmail.com; sender-id=pass Received-SPF: pass (pb1.pair.com: domain gmail.com designates 209.85.214.67 as permitted sender) X-PHP-List-Original-Sender: pierre.php@gmail.com X-Host-Fingerprint: 209.85.214.67 mail-it0-f67.google.com Received: from [209.85.214.67] ([209.85.214.67:36852] helo=mail-it0-f67.google.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 55/BA-34801-A9325995 for ; Thu, 17 Aug 2017 01:03:22 -0400 Received: by mail-it0-f67.google.com with SMTP id o72so3647859ita.3 for ; Wed, 16 Aug 2017 22:03:22 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=xhJJ5n8niUzR6AIc2Mw/llLABeO4jyWd6uF0t1gEbIw=; b=IUQ0LR9Ly0MQjmWsUfywsCKKhPqxT962utLvoNuI6XihLSjbehOOHpzPbOox/Nk9Gu OTBIv9Ny7CwMSXGBa68iE1yN29ls9sEPw1MkZYw6udxNbB+iuZOU5sfIgi3THGN+8zM5 mOt/NRFukNNELHPvXx0yGgOnE6Nbv76W9cnivALH01WgyrGj7oT4vAd3CAQJ8MHYg/eX /2oNV3xQGIp0QQj6dqqkPAwVBNDV61zUaLl8adtLui9uQAGsDBGjwXLgGLvdc+NMaREU V/FrQLYWfao22/4pu5tJsKfafL4p3hjJT6NimnbpB/1YZmDxQfZM7f3qRN0NKSAzYRsB rWYg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=xhJJ5n8niUzR6AIc2Mw/llLABeO4jyWd6uF0t1gEbIw=; b=spf4/cCD33Km3gX+s5aLa89HAN/gai/KZEdhGT0fNCU92mgwDZr5HvBVLjf418/5Ok 6OSW8IU3HhJVZsd3cxUUBcPgDQCp6CedNBmqNzUIBdGALxC5MEPd9LeWjszDf9y5sqTL 2Rrb0IgeAGrqFRdOA0q/y/oE74XusDQux/unH5MOrNRgSw4j0mlqKQVDHEOxRbgzXQY4 vAixzQavdnaMHhZpqxQlaHS1N1Le51FnbiyHxezB+X96RXZ8zK8+YXmW8rS1kXXlwAms O6Dy4OwNj3+U7R2Q8l8RNZ0jkMC2YOhgAOmWIGlpKKJsaMVXM176CdR445tl1HLNykFG B2bw== X-Gm-Message-State: AHYfb5ittYH2GZGB05xOXqHIbFvAi/9yLm0t2+Pi/ZqzorHkSN9j8KlV 9PndpJ94GFesCc9AsniYnSltiAXP8A== X-Received: by 10.36.138.195 with SMTP id v186mr792546itd.30.1502946199455; Wed, 16 Aug 2017 22:03:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.2.87.83 with HTTP; Wed, 16 Aug 2017 22:03:18 -0700 (PDT) In-Reply-To: References: Date: Thu, 17 Aug 2017 12:03:18 +0700 Message-ID: To: Rasmus Schultz Cc: PHP internals Content-Type: text/plain; charset="UTF-8" Subject: Re: [PHP-DEV] GD vs Imagick From: pierre.php@gmail.com (Pierre Joye) hi Rasmus, On Tue, Aug 15, 2017 at 5:52 PM, Rasmus Schultz wrote: > The following GD issue is all-too common: > > https://stackoverflow.com/questions/5773032/how-to-stop-gd2-from-washing-away-the-colors-upon-resizing-images > > Basically anyone who's ever accepted uploaded images and resized or > converted them, has bumped into this. > > Only Imagick makes it possible to work around this issue, it's not possible > with GD, at all - and the internal behavior of GD is arguably "wrong", as > the visible output of simply opening and saving a JPEG image with GD is > mangled with washed-out colors. > > I am starting to wonder why GD is the default in PHP? > > It's a pretty outdated library with a clunky API - we have Imagick with a > much more concise API and a ton more useful features. I disagree here, as old functions are old fashioned, new ones are easy to understand and to use. Not OO, but that's a little details (contrib welcome). And I disagree with outdated as well. It is focused on easiness and most common usages. More features make it depending on the requests or available time to actually add them. Performance wise it is also similar to similar actions. > Why is the less-capable image library the default on the PHP platform? Why > not Imagick? Imagick is good, but it is a huge library, by its size, features, code base (external) and complexity. I would never ever recommend to have it bundled or even less by default. In any cases, both libraries (or the bindings) welcome contributors, you are more than welcome too :) Cheers, -- Pierre @pierrejoye | http://www.libgd.org