From 1cf23063278112629a4428ee268347aa0fbf2b40 Mon Sep 17 00:00:00 2001 From: David Tschumperle Date: Tue, 26 Sep 2023 10:45:21 +0200 Subject: [PATCH] Filter 'Illustration Look': Add a 'Strength' slider. --- include/david_tschumperle.gmic | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/include/david_tschumperle.gmic b/include/david_tschumperle.gmic index 46fcc4f1..4f9dab88 100644 --- a/include/david_tschumperle.gmic +++ b/include/david_tschumperle.gmic @@ -47,6 +47,7 @@ median_color : #--------------------- #@gui Illustration Look : fx_illustration_look,fx_illustration_look_preview(0) +#@gui : Strength (%) = float(100,0,100) #@gui : Tone Mapping (%) = float(100,0,100) #@gui : Desaturate (%) = float(0,0,100) #@gui : Vintage Tone (%) = float(0,0,100) @@ -54,15 +55,16 @@ median_color : #@gui : sep = separator(), Preview type = choice("Full","Forward horizontal","Forward vertical","Backward horizontal","Backward vertical","Duplicate top","Duplicate left","Duplicate bottom","Duplicate right","Duplicate horizontal","Duplicate vertical","Checkered","Checkered inverse") #@gui : sep = separator(), note = note("Authors: Sébastien Guyader and David Tschumperlé. Latest update: 2017/05/01.") fx_illustration_look : - repeat $! l[$>] nm=${-gui_layer_name} + foreach { + nm=${-gui_layer_name} to_rgb => base_layer # Create processed layers. +fx_smooth_anisotropic[base_layer] 20,0.16,0.63,0.6,2.35,0.8,30,2,0,1,1,0,1,24 => blur_layer +blend[base_layer,blur_layer] grainextract => detail_layer - if $2 rgb2hsv[blur_layer] sh[blur_layer] 1 -. {$2%} c. 0,1 rm. hsv2rgb[blur_layer] fi - if $3 +fx_mix_rgb[blur_layer] 1,10,0,1,0,0,0.7,-10,0,0,10,0 j[blur_layer] .,0,0,0,0,{$3%} rm. fi - if $1 +fx_map_tones_fast[blur_layer] 20,0.2,11,0 j[blur_layer] .,0,0,0,0,{$1%} rm. fi + if $3 rgb2hsv[blur_layer] sh[blur_layer] 1 -. {$3%} c. 0,1 rm. hsv2rgb[blur_layer] fi + if $4 +fx_mix_rgb[blur_layer] 1,10,0,1,0,0,0.7,-10,0,0,10,0 j[blur_layer] .,0,0,0,0,{$4%} rm. fi + if $2 +fx_map_tones_fast[blur_layer] 20,0.2,11,0 j[blur_layer] .,0,0,0,0,{$2%} rm. fi simplelocalcontrast_p[blur_layer] 25,1,50,1,1,1,1,1,1,1,1,1 +fx_graphic_novelfxl[blur_layer] 1,2,6,5,20,0,1.02857,200,0,1,0.0761905,0.0857143,0,0,0,2,1,1,1,1.25714,0.371429,1.04762 => graphicnovel_layer @@ -70,13 +72,18 @@ fx_illustration_look : mv[detail_layer] 0 =>[detail_layer] "name("$nm" [Detail]),mode(grainmerge),opacity(100)" mv[graphicnovel_layer] 1 =>[graphicnovel_layer] "name("$nm" [Paint]),mode(normal),opacity(50)" mv[blur_layer] 2 =>[blur_layer] "name("$nm" [Base]),mode(normal),opacity(100)" - rm[base_layer] - - if !$4 gui_merge_layers => "name("$nm"),mode(normal),opacity(100)" fi - done done + if $1<100 + mv[base_layer] 0 =>[base_layer] "name("$nm" [Original]),mode(normal),opacity("{round(100-$1)}")" + else + rm[base_layer] + fi + if !$5 + gui_merge_layers => "name("$nm"),mode(normal),opacity(100)" + fi + } fx_illustration_look_preview : - gui_split_preview "fx_illustration_look ${1-3},0",$-1 + gui_split_preview "fx_illustration_look ${1-4},0",$-1 #@gui _Colors #---------------------