Skip to content

ImageMagick_jll v6.9.12-0 is breaking for PNG and TIFF #206

Closed
@johnnychen94

Description

@johnnychen94
julia> versioninfo()
Julia Version 1.6.3
Commit ae8452a9e0 (2021-09-23 17:34 UTC)
Platform Info:
  OS: macOS (x86_64-apple-darwin19.5.0)
  CPU: Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-11.0.1 (ORCJIT, skylake)
Environment:
  JULIA_NUM_THREADS = 8

using ImageMagick_jll v6.9.12-0 (JuliaPackaging/Yggdrasil#3424):

julia> using ImageCore, ImageMagick

julia> img = Gray{N0f8}.(reshape(collect(0.0:0.01:0.49), 5, 10))
5×10 Array{Gray{N0f8},2} with eltype Gray{N0f8}:
 Gray{N0f8}(0.0)    Gray{N0f8}(0.051)  Gray{N0f8}(0.102)  Gray{N0f8}(0.149)  Gray{N0f8}(0.2)    Gray{N0f8}(0.251)  Gray{N0f8}(0.298)  Gray{N0f8}(0.349)  Gray{N0f8}(0.4)    Gray{N0f8}(0.451)
 Gray{N0f8}(0.012)  Gray{N0f8}(0.059)  Gray{N0f8}(0.11)   Gray{N0f8}(0.161)  Gray{N0f8}(0.212)  Gray{N0f8}(0.259)  Gray{N0f8}(0.31)   Gray{N0f8}(0.361)  Gray{N0f8}(0.412)  Gray{N0f8}(0.459)
 Gray{N0f8}(0.02)   Gray{N0f8}(0.071)  Gray{N0f8}(0.122)  Gray{N0f8}(0.169)  Gray{N0f8}(0.22)   Gray{N0f8}(0.271)  Gray{N0f8}(0.322)  Gray{N0f8}(0.369)  Gray{N0f8}(0.42)   Gray{N0f8}(0.471)
 Gray{N0f8}(0.031)  Gray{N0f8}(0.078)  Gray{N0f8}(0.129)  Gray{N0f8}(0.18)   Gray{N0f8}(0.231)  Gray{N0f8}(0.278)  Gray{N0f8}(0.329)  Gray{N0f8}(0.38)   Gray{N0f8}(0.431)  Gray{N0f8}(0.478)
 Gray{N0f8}(0.039)  Gray{N0f8}(0.09)   Gray{N0f8}(0.141)  Gray{N0f8}(0.188)  Gray{N0f8}(0.239)  Gray{N0f8}(0.29)   Gray{N0f8}(0.341)  Gray{N0f8}(0.388)  Gray{N0f8}(0.439)  Gray{N0f8}(0.49)

julia> ImageMagick.save("tmp.png", img)

julia> ImageMagick.load("tmp.png")
5×10 Array{Gray{N0f8},2} with eltype Gray{N0f8}:
 Gray{N0f8}(0.0)    Gray{N0f8}(0.051)  Gray{N0f8}(0.122)  Gray{N0f8}(0.129)  Gray{N0f8}(0.2)   Gray{N0f8}(0.259)  Gray{N0f8}(0.298)  Gray{N0f8}(0.349)  Gray{N0f8}(0.38)   Gray{N0f8}(0.439)
 Gray{N0f8}(0.0)    Gray{N0f8}(0.051)  Gray{N0f8}(0.122)  Gray{N0f8}(0.18)   Gray{N0f8}(0.2)   Gray{N0f8}(0.259)  Gray{N0f8}(0.298)  Gray{N0f8}(0.349)  Gray{N0f8}(0.431)  Gray{N0f8}(0.439)
 Gray{N0f8}(0.0)    Gray{N0f8}(0.078)  Gray{N0f8}(0.122)  Gray{N0f8}(0.18)   Gray{N0f8}(0.22)  Gray{N0f8}(0.259)  Gray{N0f8}(0.322)  Gray{N0f8}(0.349)  Gray{N0f8}(0.431)  Gray{N0f8}(0.49)
 Gray{N0f8}(0.051)  Gray{N0f8}(0.078)  Gray{N0f8}(0.129)  Gray{N0f8}(0.18)   Gray{N0f8}(0.22)  Gray{N0f8}(0.259)  Gray{N0f8}(0.322)  Gray{N0f8}(0.38)   Gray{N0f8}(0.431)  Gray{N0f8}(0.49)
 Gray{N0f8}(0.051)  Gray{N0f8}(0.122)  Gray{N0f8}(0.129)  Gray{N0f8}(0.2)    Gray{N0f8}(0.22)  Gray{N0f8}(0.298)  Gray{N0f8}(0.322)  Gray{N0f8}(0.38)   Gray{N0f8}(0.439)  Gray{N0f8}(0.49)

julia> ImageMagick.load("tmp.png") == img
false

julia> using PNGFiles # v0.3.9

julia> img == open("tmp.png") do io
           PNGFiles.load(io)
       end
true

If reverted to [email protected]+3, it is:

julia> img = Gray{N0f8}.(reshape(collect(0.0:0.01:0.49), 5, 10));

julia> ImageMagick.save("tmp.png", img)

julia> ImageMagick.load("tmp.png") == img
true

cc: @staticfloat @timholy

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions