Beefy Boxes and Bandwidth Generously Provided by pair Networks
Syntactic Confectionery Delight
 
PerlMonks  

Re^4: GD colorAllocate not changing colour

by Bod (Parson)
on May 16, 2021 at 17:06 UTC ( [id://11132667]=note: print w/replies, xml ) Need Help??


in reply to Re^3: GD colorAllocate not changing colour
in thread GD colorAllocate not changing colour

What image formats do you use? I see you are writing a PNG, that can be both a paletted image and a non-paletted image. What formats do you read?

I don't know why the output is PNG. As I said in the original question, this is old code that is being refactored. As the images are all real pictures of properties and the like, it would be much better if they were JPGs but that means changing lots of other code where they are read. I will be changing all the PNG files to JPG files, probably manually, and then updating the code that reads the files then revisiting this code that writes them to ensure in future everythings is JPG. But that's for another time.

The input file is a stream from a website upload. The format could be any image format although practically it is likely to be a JPG as most of them will have originated from a digital camera which mostly produce JPG files.

Call isTrueColor() on your GD objects, should return true

A call of $image->isTrueColor() immediately before writing to the file does indeed return true.

Replies are listed 'Best First'.
Re^5: GD colorAllocate not changing colour
by Discipulus (Canon) on May 16, 2021 at 17:37 UTC
    Please note that once a file is loaded inside a GD object, is no more a jpg nor a png: it is loaded into an internal GD format and it is up to you to write it to disk in the desired format.

    Also note that saving to png allows you to specify a compression in the range:

    > 0-9, where 0 means no compression (largest files, highest quality) and 9 means maximum compression (smallest files, worst quality). A compression level of -1 uses the default compression level selected when zlib was compiled on your system, and is the same as calling png() with no argument.

    L*

    There are no rules, there are no thumbs..
    Reinvent the wheel, then learn The Wheel; may be one day you reinvent one of THE WHEELS.
      A compression level of -1 uses the default compression level selected when zlib was compiled on your system, and is the same as calling png() with no argument.

      Oh! That's useful...
      So it would always be sensible to include a compression level unless you happened to be the one who did the installation.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://11132667]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others browsing the Monastery: (6)
As of 2024-04-25 08:31 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found