[mapserver-commits] [MapServer/MapServer] 7f5325: Add 4 new COMPOSITE.COMPOP blending operations

Even Rouault noreply at github.com
Tue Jun 11 08:56:48 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/MapServer/MapServer
  Commit: 7f532590d3411608709ee9d4a9ff61157eebc2c3
      https://github.com/MapServer/MapServer/commit/7f532590d3411608709ee9d4a9ff61157eebc2c3
  Author: Even Rouault <even.rouault at spatialys.com>
  Date:   2024-05-30 (Thu, 30 May 2024)

  Changed paths:
    A msautotest/renderers/compop_hsl_color.map
    A msautotest/renderers/compop_hsl_color_opacity_50.map
    A msautotest/renderers/compop_hsl_hue.map
    A msautotest/renderers/compop_hsl_luminosity.map
    A msautotest/renderers/compop_hsl_saturation.map
    A msautotest/renderers/expected/compop_hsl_color.agg.png
    A msautotest/renderers/expected/compop_hsl_color.cairo.png
    A msautotest/renderers/expected/compop_hsl_color_opacity_50.agg.png
    A msautotest/renderers/expected/compop_hsl_color_opacity_50.cairo.png
    A msautotest/renderers/expected/compop_hsl_hue.agg.png
    A msautotest/renderers/expected/compop_hsl_hue.cairo.png
    A msautotest/renderers/expected/compop_hsl_luminosity.agg.png
    A msautotest/renderers/expected/compop_hsl_luminosity.cairo.png
    A msautotest/renderers/expected/compop_hsl_saturation.agg.png
    A msautotest/renderers/expected/compop_hsl_saturation.cairo.png
    M src/mapagg.cpp
    M src/mapcairo.c
    M src/mapfile.c
    M src/mapserver.h
    M src/renderers/agg/include/agg_pixfmt_rgba.h
    A src/renderers/agg/include/pixman-combine-float-extract.h

  Log Message:
  -----------
  Add 4 new COMPOSITE.COMPOP blending operations

Cf https://pycairo.readthedocs.io/en/latest/reference/enums.html#cairo.Operator.HSL_HUE

- "hsl-hue": Creates a color with the hue of the source and the saturation
  and luminosity of the target.
- "hsl-luminosity": Creates a color with the luminosity of the source
  and the hue and saturation of the target. This produces an inverse
  effect to hsl-color
- "hsl-saturation": Creates a color with the saturation of the source and the hue and
  luminosity of the target. Painting with this mode onto a gray area produces no change.
- "hsl-color": Creates a color with the hue and saturation of the source and the
  luminosity of the target. This preserves the gray levels of the target and is
  useful for coloring monochrome images or tinting color images.

That last mode is typical the most useful, for example when draping a
colorized terrain onto a hillshade layer, or to colorize a greyed LIDAR
shaded surface model with a green mask of a canopy model.

~~~

Implemented in the Cairo backend using the corresponding Cairo operators
(which ultimately go to using Pixman), or in the AGG backend, by
manually extracting the related Pixman code and adapting it to AGG (or
when building WITH_PIXMAN=ON, bu using the Pixman operation)

Note: if using OPACITY < 100 with the Cairo backend (or AGG
WITH_PIXMAN=ON), there's a bug in current Pixman versions that result in
wrong colors. Cf https://gitlab.freedesktop.org/pixman/pixman/-/merge_requests/97
The adaptation in the AGG backend isn't affected by this bug.


  Commit: 1e0c8602b93444e6984c8841e6b2125190331c09
      https://github.com/MapServer/MapServer/commit/1e0c8602b93444e6984c8841e6b2125190331c09
  Author: Even Rouault <even.rouault at spatialys.com>
  Date:   2024-05-30 (Thu, 30 May 2024)

  Changed paths:
    M src/mapfile.c

  Log Message:
  -----------
  More elegant serialization/deserialization of MS_COMPOP_xxxx constants


  Commit: 8945b945e1f90d6e204cdca386aaeb9d568b020e
      https://github.com/MapServer/MapServer/commit/8945b945e1f90d6e204cdca386aaeb9d568b020e
  Author: Even Rouault <even.rouault at spatialys.com>
  Date:   2024-06-11 (Tue, 11 Jun 2024)

  Changed paths:
    A msautotest/renderers/compop_hsl_color.map
    A msautotest/renderers/compop_hsl_color_opacity_50.map
    A msautotest/renderers/compop_hsl_hue.map
    A msautotest/renderers/compop_hsl_luminosity.map
    A msautotest/renderers/compop_hsl_saturation.map
    A msautotest/renderers/expected/compop_hsl_color.agg.png
    A msautotest/renderers/expected/compop_hsl_color.cairo.png
    A msautotest/renderers/expected/compop_hsl_color_opacity_50.agg.png
    A msautotest/renderers/expected/compop_hsl_color_opacity_50.cairo.png
    A msautotest/renderers/expected/compop_hsl_hue.agg.png
    A msautotest/renderers/expected/compop_hsl_hue.cairo.png
    A msautotest/renderers/expected/compop_hsl_luminosity.agg.png
    A msautotest/renderers/expected/compop_hsl_luminosity.cairo.png
    A msautotest/renderers/expected/compop_hsl_saturation.agg.png
    A msautotest/renderers/expected/compop_hsl_saturation.cairo.png
    M src/mapagg.cpp
    M src/mapcairo.c
    M src/mapfile.c
    M src/mapserver.h
    M src/renderers/agg/include/agg_pixfmt_rgba.h
    A src/renderers/agg/include/pixman-combine-float-extract.h

  Log Message:
  -----------
  Merge pull request #7065 from rouault/compop_hsl

Add 4 new COMPOSITE.COMPOP blending operations (in particular hsl-color)


Compare: https://github.com/MapServer/MapServer/compare/dcaf7ec1a65b...8945b945e1f9

To unsubscribe from these emails, change your notification settings at https://github.com/MapServer/MapServer/settings/notifications


More information about the MapServer-commits mailing list