diff --git a/modules/ROOT/examples/live-demos/uploadcare/example.js b/modules/ROOT/examples/live-demos/uploadcare/example.js index 8673194db0..38bcb9f27a 100644 --- a/modules/ROOT/examples/live-demos/uploadcare/example.js +++ b/modules/ROOT/examples/live-demos/uploadcare/example.js @@ -2,7 +2,21 @@ tinymce.init({ selector: "textarea", plugins: [ "uploadcare", "code", "link", "preview", "lists" ], uploadcare_public_key: '', - a11y_advanced_options: true, + uploadcare_filters: [ + { name: 'none' }, // No filter applied + { name: 'adaris', amount: -100 }, // Adaris with inverted effect (amount -100), label defaults to 'adaris' + { name: 'adaris', amount: -100, label: 'Vintage Fade' }, // Adaris with inverted effect (amount -100), label reads 'Vintage Fade' + { name: 'adaris', amount: 0, label: 'Base' }, // Adaris with neutral effect (amount 0), label reads 'Base' + { name: 'adaris', amount: 50, label: 'Light' }, // Adaris with light effect (amount 50), label reads 'Light' + { name: 'adaris', amount: 100, label: 'Standard' }, // Adaris with standard effect (amount 100), label reads 'Standard' + { name: 'adaris', amount: 200, label: 'Intense' }, // Adaris with intense effect (amount 200), label reads 'Intense' + { name: 'zevcen', amount: 200, label: 'Glow Boost' }, // Zevcen with intense effect (amount 200), label reads 'Glow Boost' + { name: 'galen', amount: 80, label: 'Soft Focus' }, // Galen with softening effect (amount 80), label reads 'Soft Focus' + { name: 'carris', amount: 120, label: 'Sharp Contrast' }, // Carris with high contrast (amount 120), label reads 'Sharp Contrast' + { name: 'ferand', amount: 60, label: 'Light Touch' }, // Ferand with light enhancement (amount 60), label reads 'Light Touch' + { name: 'sorahel', amount: -50, label: 'Night Mood' } // Sorahel with darkened effect (amount -50), label reads 'Night Mood' + ], + a11y_advanced_options: true, toolbar: "undo redo | styles | bold italic underline | forecolor | bullist numlist| link uploadcare | code preview", height: 700, content_style: ` diff --git a/modules/ROOT/examples/live-demos/uploadcare/index.js b/modules/ROOT/examples/live-demos/uploadcare/index.js index 06955b26b6..6a9757556e 100644 --- a/modules/ROOT/examples/live-demos/uploadcare/index.js +++ b/modules/ROOT/examples/live-demos/uploadcare/index.js @@ -4,6 +4,20 @@ tinymce.init({ uploadcare_public_key: '630992ad50fe2291c406', uploadcare_cdn_base_url: 'https://tiny.ucarecdn.com', uploadcare_store_type: 'temporary', + uploadcare_filters: [ + { name: 'none' }, // No filter applied + { name: 'adaris', amount: -100 }, // Adaris with inverted effect (amount -100), label defaults to 'adaris' + { name: 'adaris', amount: -100, label: 'Vintage Fade' }, // Adaris with inverted effect (amount -100), label reads 'Vintage Fade' + { name: 'adaris', amount: 0, label: 'Base' }, // Adaris with neutral effect (amount 0), label reads 'Base' + { name: 'adaris', amount: 50, label: 'Light' }, // Adaris with light effect (amount 50), label reads 'Light' + { name: 'adaris', amount: 100, label: 'Standard' }, // Adaris with standard effect (amount 100), label reads 'Standard' + { name: 'adaris', amount: 200, label: 'Intense' }, // Adaris with intense effect (amount 200), label reads 'Intense' + { name: 'zevcen', amount: 200, label: 'Glow Boost' }, // Zevcen with intense effect (amount 200), label reads 'Glow Boost' + { name: 'galen', amount: 80, label: 'Soft Focus' }, // Galen with softening effect (amount 80), label reads 'Soft Focus' + { name: 'carris', amount: 120, label: 'Sharp Contrast' }, // Carris with high contrast (amount 120), label reads 'Sharp Contrast' + { name: 'ferand', amount: 60, label: 'Light Touch' }, // Ferand with light enhancement (amount 60), label reads 'Light Touch' + { name: 'sorahel', amount: -50, label: 'Night Mood' } // Sorahel with darkened effect (amount -50), label reads 'Night Mood' + ], a11y_advanced_options: true, toolbar: "undo redo | styles | bold italic underline | forecolor | bullist numlist| link uploadcare | code preview", height: 700, diff --git a/modules/ROOT/images/icons/auto-image-enhancement.svg b/modules/ROOT/images/icons/auto-image-enhancement.svg new file mode 100644 index 0000000000..df2452a714 --- /dev/null +++ b/modules/ROOT/images/icons/auto-image-enhancement.svg @@ -0,0 +1,3 @@ + + + diff --git a/modules/ROOT/images/icons/image-enhancements.svg b/modules/ROOT/images/icons/image-enhancements.svg deleted file mode 100644 index f95c841695..0000000000 --- a/modules/ROOT/images/icons/image-enhancements.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - - diff --git a/modules/ROOT/images/uploadcare/filters/adaris.jpg b/modules/ROOT/images/uploadcare/filters/adaris.jpg new file mode 100644 index 0000000000..2374351297 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/adaris.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/briaril.jpg b/modules/ROOT/images/uploadcare/filters/briaril.jpg new file mode 100644 index 0000000000..3727dcbfb9 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/briaril.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/calarel.jpg b/modules/ROOT/images/uploadcare/filters/calarel.jpg new file mode 100644 index 0000000000..8ce0fe6c9f Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/calarel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/carris.jpg b/modules/ROOT/images/uploadcare/filters/carris.jpg new file mode 100644 index 0000000000..6a79bf9413 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/carris.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/cynarel.jpg b/modules/ROOT/images/uploadcare/filters/cynarel.jpg new file mode 100644 index 0000000000..f11fb446db Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/cynarel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/cyren.jpg b/modules/ROOT/images/uploadcare/filters/cyren.jpg new file mode 100644 index 0000000000..371b673cba Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/cyren.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/elmet.jpg b/modules/ROOT/images/uploadcare/filters/elmet.jpg new file mode 100644 index 0000000000..dc5e7b2e8a Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/elmet.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/elonni.jpg b/modules/ROOT/images/uploadcare/filters/elonni.jpg new file mode 100644 index 0000000000..9d399b5e5d Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/elonni.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/enzana.jpg b/modules/ROOT/images/uploadcare/filters/enzana.jpg new file mode 100644 index 0000000000..53193f3d39 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/enzana.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/erydark.jpg b/modules/ROOT/images/uploadcare/filters/erydark.jpg new file mode 100644 index 0000000000..c2cbc3cd1f Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/erydark.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/fenralan.jpg b/modules/ROOT/images/uploadcare/filters/fenralan.jpg new file mode 100644 index 0000000000..68ef9b8cdc Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/fenralan.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/ferand.jpg b/modules/ROOT/images/uploadcare/filters/ferand.jpg new file mode 100644 index 0000000000..351a354e14 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/ferand.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/galen.jpg b/modules/ROOT/images/uploadcare/filters/galen.jpg new file mode 100644 index 0000000000..36eeeb80d1 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/galen.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/gavin.jpg b/modules/ROOT/images/uploadcare/filters/gavin.jpg new file mode 100644 index 0000000000..65e6c5d6f2 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/gavin.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/gethriel.jpg b/modules/ROOT/images/uploadcare/filters/gethriel.jpg new file mode 100644 index 0000000000..c517f14dd6 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/gethriel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/iorill.jpg b/modules/ROOT/images/uploadcare/filters/iorill.jpg new file mode 100644 index 0000000000..ecd21fa877 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/iorill.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/iothari.jpg b/modules/ROOT/images/uploadcare/filters/iothari.jpg new file mode 100644 index 0000000000..f882fde0e6 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/iothari.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/iselva.jpg b/modules/ROOT/images/uploadcare/filters/iselva.jpg new file mode 100644 index 0000000000..ebaea56bf7 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/iselva.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/jadis.jpg b/modules/ROOT/images/uploadcare/filters/jadis.jpg new file mode 100644 index 0000000000..869ba89dab Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/jadis.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/lavra.jpg b/modules/ROOT/images/uploadcare/filters/lavra.jpg new file mode 100644 index 0000000000..ba1e65224f Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/lavra.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/misiara.jpg b/modules/ROOT/images/uploadcare/filters/misiara.jpg new file mode 100644 index 0000000000..e5a906c863 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/misiara.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/namala.jpg b/modules/ROOT/images/uploadcare/filters/namala.jpg new file mode 100644 index 0000000000..6a811bd9e4 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/namala.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/nerion.jpg b/modules/ROOT/images/uploadcare/filters/nerion.jpg new file mode 100644 index 0000000000..6e93412ab2 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/nerion.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/nethari.jpg b/modules/ROOT/images/uploadcare/filters/nethari.jpg new file mode 100644 index 0000000000..6322d53ec3 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/nethari.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/pamaya.jpg b/modules/ROOT/images/uploadcare/filters/pamaya.jpg new file mode 100644 index 0000000000..0933f04f28 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/pamaya.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/sarnar.jpg b/modules/ROOT/images/uploadcare/filters/sarnar.jpg new file mode 100644 index 0000000000..d075c3b181 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/sarnar.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/sedis.jpg b/modules/ROOT/images/uploadcare/filters/sedis.jpg new file mode 100644 index 0000000000..f1cb5decd7 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/sedis.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/sewen.jpg b/modules/ROOT/images/uploadcare/filters/sewen.jpg new file mode 100644 index 0000000000..3b86f468ae Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/sewen.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/sorahel.jpg b/modules/ROOT/images/uploadcare/filters/sorahel.jpg new file mode 100644 index 0000000000..16c8695ee0 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/sorahel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/sorlen.jpg b/modules/ROOT/images/uploadcare/filters/sorlen.jpg new file mode 100644 index 0000000000..4c19b65ba0 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/sorlen.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/tarian.jpg b/modules/ROOT/images/uploadcare/filters/tarian.jpg new file mode 100644 index 0000000000..69d77aed69 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/tarian.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/thellassan.jpg b/modules/ROOT/images/uploadcare/filters/thellassan.jpg new file mode 100644 index 0000000000..c8518892f8 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/thellassan.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/varriel.jpg b/modules/ROOT/images/uploadcare/filters/varriel.jpg new file mode 100644 index 0000000000..562ca4e481 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/varriel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/varven.jpg b/modules/ROOT/images/uploadcare/filters/varven.jpg new file mode 100644 index 0000000000..81a9d5e3f8 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/varven.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/vevera.jpg b/modules/ROOT/images/uploadcare/filters/vevera.jpg new file mode 100644 index 0000000000..c767c7a91a Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/vevera.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/virkas.jpg b/modules/ROOT/images/uploadcare/filters/virkas.jpg new file mode 100644 index 0000000000..b0d767b212 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/virkas.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/yedis.jpg b/modules/ROOT/images/uploadcare/filters/yedis.jpg new file mode 100644 index 0000000000..2e671bc862 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/yedis.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/yllara.jpg b/modules/ROOT/images/uploadcare/filters/yllara.jpg new file mode 100644 index 0000000000..bb359a8ec1 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/yllara.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/zatvel.jpg b/modules/ROOT/images/uploadcare/filters/zatvel.jpg new file mode 100644 index 0000000000..776091f5ff Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/zatvel.jpg differ diff --git a/modules/ROOT/images/uploadcare/filters/zevcen.jpg b/modules/ROOT/images/uploadcare/filters/zevcen.jpg new file mode 100644 index 0000000000..43644030f3 Binary files /dev/null and b/modules/ROOT/images/uploadcare/filters/zevcen.jpg differ diff --git a/modules/ROOT/pages/7.8.0-release-notes.adoc b/modules/ROOT/pages/7.8.0-release-notes.adoc index 1f680d78b8..7707f75906 100644 --- a/modules/ROOT/pages/7.8.0-release-notes.adoc +++ b/modules/ROOT/pages/7.8.0-release-notes.adoc @@ -101,7 +101,30 @@ For information on the **Comments** plugin, see: xref:introduction-to-tiny-comme {productname} {release-version} introduces the **Image Optimizer (Powered by Uploadcare)** plugin. -**Image Optimizers** includes the following fix. +**Image Optimizers** includes the following fix and addition. + +=== Added support for `+uploadcare_filters+` option in the Image Optimizer (Powered by Uploadcare) plugin +// #EPIC-146 + +The **Image Optimizer (Powered by Uploadcare)** plugin now includes support for a new configuration option, `+uploadcare_filters+`, introduced in {release-version}. This option allows integrators to define a customizable list of image filters available within the **Image Optimizer (Powered by Uploadcare)** dialog. Each filter can be configured with an optional `amount` parameter, controlling the intensity of the effect, and an optional `label` to customize its display name in the UI. + +.Example +[source,js] +---- +tinymce.init({ + selector: "textarea", + plugins: 'uploadcare', + toolbar: 'uploadcare', + uploadcare_public_key: '', + uploadcare_filters: [ + { name: 'none' }, + { name: 'adaris', amount: -100, label: 'Vintage Fade' }, + { name: 'adaris', amount: 0, label: 'Base' }, + { name: 'adaris', amount: 100, label: 'Standard' }, + { name: 'zevcen', amount: 200, label: 'Glow Boost' } + ] +}); +---- ==== Keyboard navigation between toolbars no longer loses focus. // #TINY-11880 diff --git a/modules/ROOT/pages/uploadcare.adoc b/modules/ROOT/pages/uploadcare.adoc index 4fb96f4648..0ca199ad62 100644 --- a/modules/ROOT/pages/uploadcare.adoc +++ b/modules/ROOT/pages/uploadcare.adoc @@ -108,24 +108,6 @@ Below is an overview of the features provided by the {pluginname} plugin for ima | image:icons/resize.svg[resize.svg] | Changes the size of the image. -| Alt Text -| -| image:icons/alt-text.svg[alt-text.svg] -| Adds alternative text to describe the image for accessibility purposes. - -| -| Decorative Image -| image:icons/image-decorative.svg[image-decorative.svg] -a| -Marks the image as decorative, indicating it doesn't require alternative text for accessibility. - -This icon will only appear when the `a11y_advanced_options` configuration option is enabled. - -| Caption -| -| image:icons/caption.svg[caption.svg] -| Adds a caption below the image for additional context. - | Adjust | | image:icons/adjustments.svg[adjustments.svg] @@ -186,6 +168,29 @@ This icon will only appear when the `a11y_advanced_options` configuration option | image:icons/blur.svg[blur.svg] | Blurs the image. +| Filters +| +| image:icons/auto-image-enhancement.svg[auto-image-enhancement.svg] +| Provides tools for applying filters to the image. + +| Alt Text +| +| image:icons/alt-text.svg[alt-text.svg] +| Adds alternative text to describe the image for accessibility purposes. + +| +| Decorative Image +| image:icons/image-decorative.svg[image-decorative.svg] +a| +Marks the image as decorative, indicating it doesn't require alternative text for accessibility. + +This icon will only appear when the `a11y_advanced_options` configuration option is enabled. + +| Caption +| +| image:icons/caption.svg[caption.svg] +| Adds a caption below the image for additional context. + | Revert | | image:icons/revert.svg[revert.svg] @@ -206,6 +211,8 @@ include::partial$configuration/uploadcare_srcset_steps.adoc[leveloffset=+1] include::partial$configuration/uploadcare_store_type.adoc[leveloffset=+1] +include::partial$configuration/uploadcare_filters.adoc[leveloffset=+1] + :includedSection: uploadcarePlugin include::partial$configuration/a11y_advanced_options.adoc[leveloffset=+1] :!includedSection: diff --git a/modules/ROOT/partials/configuration/icon_list.adoc b/modules/ROOT/partials/configuration/icon_list.adoc index d656230b70..f1588936fe 100644 --- a/modules/ROOT/partials/configuration/icon_list.adoc +++ b/modules/ROOT/partials/configuration/icon_list.adoc @@ -92,7 +92,7 @@ | `+horizontal-rule+` | image:icons/horizontal-rule.svg[horizontal-rule.svg] | `+horizontal-rule.svg+` | `+huddle+` | image:icons/huddle.svg[huddle.svg] | `+huddle.svg+` | `+image-decorative+` | image:icons/image-decorative.svg[image-decorative.svg] | `+image-decorative.svg+` -| `+image-enhancements+` | image:icons/image-enhancements.svg[image-enhancements.svg] | `+image-enhancements.svg+` +| `+auto-image-enhancement+` | image:icons/auto-image-enhancement.svg[auto-image-enhancement.svg] | `+auto-image-enhancement.svg+` | `+image-options+` | image:icons/image-options.svg[image-options.svg] | `+image-options.svg+` | `+image+` | image:icons/image.svg[image.svg] | `+image.svg+` | `+import-word+` | image:icons/import-word.svg[import-word.svg] | `+import-word.svg+` diff --git a/modules/ROOT/partials/configuration/uploadcare_filters.adoc b/modules/ROOT/partials/configuration/uploadcare_filters.adoc new file mode 100644 index 0000000000..cf430b2fb7 --- /dev/null +++ b/modules/ROOT/partials/configuration/uploadcare_filters.adoc @@ -0,0 +1,128 @@ +[[uploadcare-filters]] +== `uploadcare_filters` + +The `+uploadcare_filters+` option defines the list of image filters available when using the {pluginname} plugin. Each filter applies a stylized image effect consistent with the visual design of the content and can be configured with an amount value to control its intensity. Filters enhance images by applying consistent styling, improving overall quality, and boosting user engagement. + + +Each filter is defined as an object with the following properties: +[source,js] +---- +{ + name: 'filterName', // Required: name of the filter to apply + amount: number, // Optional: strength of the filter (default = 100) + label: 'string' // Optional: custom name to display in the UI +} +---- + +* `name`: A predefined filter identifier (e.g., adaris, zevcen, galen). +* `amount`: The intensity of the filter effect, ranging from -100 to 200: +** **0**: No effect (image stays original). +** **0** to **100**: Gradually increases filter strength. +** **100**: Default intensity (as the filter is designed). +** **>100**: Exaggerates the effect. +** **<0**: Inverts the filter effect (produces a "negative" version). +* `label`: Optional display name for the filter in your UI. If omitted, it defaults to the name. + +=== Example: Setting `uploadcare_filters` + +[source,js] +---- +tinymce.init({ + selector: "textarea", + plugins: 'uploadcare', + toolbar: 'uploadcare', + uploadcare_public_key: '', + + // Define available Uploadcare image filters and their intensity levels + uploadcare_filters: [ + { name: 'none' }, // No filter applied + { name: 'adaris', amount: -100 }, // Adaris with inverted effect (amount -100), label defaults to 'adaris' + { name: 'adaris', amount: -100, label: 'Vintage Fade' }, // Adaris with inverted effect (amount -100), label reads 'Vintage Fade' + { name: 'adaris', amount: 0, label: 'Base' }, // Adaris with neutral effect (amount 0), label reads 'Base' + { name: 'adaris', amount: 50, label: 'Light' }, // Adaris with light effect (amount 50), label reads 'Light' + { name: 'adaris', amount: 100, label: 'Standard' }, // Adaris with standard effect (amount 100), label reads 'Standard' + { name: 'adaris', amount: 200, label: 'Intense' }, // Adaris with intense effect (amount 200), label reads 'Intense' + { name: 'zevcen', amount: 200, label: 'Glow Boost' }, // Zevcen with intense effect (amount 200), label reads 'Glow Boost' + { name: 'galen', amount: 80, label: 'Soft Focus' }, // Galen with softening effect (amount 80), label reads 'Soft Focus' + { name: 'carris', amount: 120, label: 'Sharp Contrast' }, // Carris with high contrast (amount 120), label reads 'Sharp Contrast' + { name: 'ferand', amount: 60, label: 'Light Touch' }, // Ferand with light enhancement (amount 60), label reads 'Light Touch' + { name: 'sorahel', amount: -50, label: 'Night Mood' } // Sorahel with darkened effect (amount -50), label reads 'Night Mood' + ] +}); +---- + +[NOTE] +==== +* Filter names must be selected from the supported set: +** `adaris`, `briaril`, `calarel`, `carris`, `cynarel`, `cyren`, `elmet`, `elonni`, `enzana`, `erydark`, `fenralan`, `ferand`, `galen`, `gavin`, `gethriel`, `iorill`, `iothari`, `iselva`, `jadis`, `lavra`, `misiara`, `namala`, `nerion`, `nethari`, `pamaya`, `sarnar`, `sedis`, `sewen`, `sorahel`, `sorlen`, `tarian`, `thellassan`, `varriel`, `varven`, `vevera`, `virkas`, `yedis`, `yllara`, `zatvel`, `zevcen`. +* If the amount is not set, it defaults to 100. +* Some filters may behave unpredictably outside the 0–100 range. +* Applying negative amount values inverts the filter, useful for creative effects. +==== + +=== Uploadcare Filter Previews + +Each image below represents a filter applied to the same source image. + +[cols="1,1,1,1", options="header"] +|=== +|adaris |briaril |calarel |carris +|image:uploadcare/filters/cynarel.jpg[adaris] +|image:uploadcare/filters/briaril.jpg[briaril] +|image:uploadcare/filters/calarel.jpg[calarel] +|image:uploadcare/filters/carris.jpg[carris] + +|cynarel |cyren |elmet |elonni +|image:uploadcare/filters/cynarel.jpg[cynarel] +|image:uploadcare/filters/cyren.jpg[cyren] +|image:uploadcare/filters/elmet.jpg[elmet] +|image:uploadcare/filters/elonni.jpg[elonni] + +|enzana |erydark |fenralan |ferand +|image:uploadcare/filters/enzana.jpg[enzana] +|image:uploadcare/filters/erydark.jpg[erydark] +|image:uploadcare/filters/fenralan.jpg[fenralan] +|image:uploadcare/filters/ferand.jpg[ferand] + +|galen |gavin |gethriel |iorill +|image:uploadcare/filters/galen.jpg[galen] +|image:uploadcare/filters/gavin.jpg[gavin] +|image:uploadcare/filters/gethriel.jpg[gethriel] +|image:uploadcare/filters/iorill.jpg[iorill] + +|iothari |iselva |jadis |lavra +|image:uploadcare/filters/iothari.jpg[iothari] +|image:uploadcare/filters/iselva.jpg[iselva] +|image:uploadcare/filters/jadis.jpg[jadis] +|image:uploadcare/filters/lavra.jpg[lavra] + +|misiara |namala |nerion |nethari +|image:uploadcare/filters/misiara.jpg[misiara] +|image:uploadcare/filters/namala.jpg[namala] +|image:uploadcare/filters/nerion.jpg[nerion] +|image:uploadcare/filters/nethari.jpg[nethari] + +|pamaya |sarnar |sedis |sewen +|image:uploadcare/filters/pamaya.jpg[pamaya] +|image:uploadcare/filters/sarnar.jpg[sarnar] +|image:uploadcare/filters/sedis.jpg[sedis] +|image:uploadcare/filters/sewen.jpg[sewen] + +|sorahel |sorlen |tarian |thellassan +|image:uploadcare/filters/sorahel.jpg[sorahel] +|image:uploadcare/filters/sorlen.jpg[sorlen] +|image:uploadcare/filters/tarian.jpg[tarian] +|image:uploadcare/filters/thellassan.jpg[thellassan] + +|varriel |varven |vevera |virkas +|image:uploadcare/filters/varriel.jpg[varriel] +|image:uploadcare/filters/varven.jpg[varven] +|image:uploadcare/filters/vevera.jpg[vevera] +|image:uploadcare/filters/virkas.jpg[virkas] + +|yedis |yllara |zatvel |zevcen +|image:uploadcare/filters/yedis.jpg[yedis] +|image:uploadcare/filters/yllara.jpg[yllara] +|image:uploadcare/filters/zatvel.jpg[zatvel] +|image:uploadcare/filters/zevcen.jpg[zevcen] +|=== \ No newline at end of file