From 293bca268631fd344221024152c3c6d663a130a6 Mon Sep 17 00:00:00 2001 From: John Andrews Date: Thu, 25 Apr 2024 17:20:42 +1200 Subject: [PATCH] FF-1510: Updated Sixlabors versions to match FlowRunner --- ComicNodes/ComicNodes.csproj | 4 ++-- ComicNodes/Helpers/PdfHelper.cs | 4 +++- FileFlows.Plugin.dll | Bin 135680 -> 135680 bytes FileFlows.Plugin.pdb | Bin 32944 -> 32944 bytes ImageNodes/ImageNodes.csproj | 2 +- ImageNodes/Images/AutoCropImage.cs | 7 ++++--- ImageNodes/Images/ImageBaseNode.cs | 16 +++++++++------- ImageNodes/Images/ImageFlip.cs | 3 ++- ImageNodes/Images/ImageFormat.cs | 3 ++- ImageNodes/Images/ImageNode.cs | 3 ++- ImageNodes/Images/ImageResizer.cs | 3 ++- ImageNodes/Images/ImageRotate.cs | 3 ++- 12 files changed, 29 insertions(+), 19 deletions(-) diff --git a/ComicNodes/ComicNodes.csproj b/ComicNodes/ComicNodes.csproj index 808b4667..2d7581ea 100644 --- a/ComicNodes/ComicNodes.csproj +++ b/ComicNodes/ComicNodes.csproj @@ -24,9 +24,9 @@ - + - + diff --git a/ComicNodes/Helpers/PdfHelper.cs b/ComicNodes/Helpers/PdfHelper.cs index b11ae004..ea44acf5 100644 --- a/ComicNodes/Helpers/PdfHelper.cs +++ b/ComicNodes/Helpers/PdfHelper.cs @@ -47,7 +47,9 @@ internal class PdfHelper args?.Logger?.ILog("File Extension of image: " + fileExtension); } - var file = Path.Combine(destinationDirectory, filePrefix + "-" + i.ToString(new string('0', pageCount.ToString().Length))) + "." + fileExtension; + var file = Path.Combine(destinationDirectory, + filePrefix + "-" + i.ToString(new string('0', pageCount.ToString().Length))) + + "." + fileExtension; using (var outputStream = File.Create(file + "." + fileExtension)) { diff --git a/FileFlows.Plugin.dll b/FileFlows.Plugin.dll index 055a0f782f27ead939cce4583a9182ee7d96b96f..07b6abaddbc0f3ef2bb623ad25d5547e4fd04631 100644 GIT binary patch delta 247 zcmZoz!qKpVV?qZ@*8;n1jXhg?7$1BSC|JS$Bjt{---ey#PMtbGA8xPt&R8j+VPI&O zoN8pAW@40PWNv1VW@M3MXqIG>Y?P9kXq;$dV3}%cU}m0Vwq2Hk$()g8+H#f;(<3;U z0t8G8Kduc|2y$AJ+b_KS+%DefJ2;u_6`-O`IZ#oM`riCCk2U9%oc2^Ue79Yki%F8z z-+;jo2$LC78H^ar8PXU`fOHy|ZN^{#W?3*K0acg*NfV$tBZd^9+C&CpAT|Q3umtjq SfwUP=cM^ly_IiG%MkW9oP)i*E delta 247 zcmZoz!qKpVV?qZ@)(?T_jXhg?7$1BSVBvpl_c4LddD<#o^Y{G!<+j&+XRH*^NHR+? zG&3+UG%`0bO|>wwOfj@HFi0~pGBh_eOfxnCidm*58JSvcm*rqGXJjcpt2cXk1SeB~ zz*Ti!p{Y`p&eNmCHzfO~s88R)$z-np6=e>GiUQS3XA5#&TmN&P?}oQu3$}}MF-fxe zCoz~Yq%ar)NdpEGAZ^584#cJmsSFlCz9m@B5-4ZDkOmYt0;(_v${GTB#z1+9I!hog O39QRBNG6jH$#{J diff --git a/FileFlows.Plugin.pdb b/FileFlows.Plugin.pdb index 62490f409502eddca366233bde1dad9d3fa303fb..377d74a61fcc6cbc618ac97a11b51e630b219217 100644 GIT binary patch delta 2643 zcmZwI3s6&68VB(2h9n3G5lEpHQ5um~mNbcy1W2_!l~+sD6|)Yh(4i!Bw<)4pQApSzox-zHq3O$|`kLcDGQw|HRUno$<{4zVpBL+Ffh5PfdJsJ+j9AvEK3t1mZRQS+-=z+6v z1#Tz^&6kpuzLW;p@UqgfE`VN922eRP!n<$?TH!dHfIc`2Lof{Az$iQdo+^OcRF>n2 z$x|gJZx%%iatMYOU^!@DHM|4{a10ic5IjHx{vd^DNPr|*3t6xpil7WCp$>L}5#EM_ za0J?cHKX*x88{D@;2Mm;Ew~Gl@Cf)JVsZjEm=8W60R=3DXwX11q(d%jgi@%4de{w( zZ~#6C5wp~WV1`rhISj#7_zr%AyD$llfFFtzfJG1pLGV08K?1CXG{}JhD1ld@4&H+n zXa_g7nADJ?X2n#E@Gi7N7kmb1Ve|81dIOrle<>z`3^0M`GBE|fR;Yn#@O=S~5VVj2 zhrkTyAT>-(dRQO!Cn|<5z(T#H?1Fu;Kg{xC%(Osi{$p7}ABIV&1G?Z848R~eg$s0gdD&H=7Jaaf&_wqRfo?^IMYig0t1EC^%5#Y-t~L#L;ep)Bc7uu zh=*0M2J}z{l~4ye!3b|dC!CIu)0dDNX_-ex^^r2#6)AJYXCR|})|FD)A1S5gNPL$S zEcwxgk$%(xU2qBpU=S|Db+`dzFaeYBD{!Oy$N^knE_g-FT$VriM){Kjf!)M)PS^{Cq0@J%1Cw zfJWiAb=fj*Xm@G)w?*C7(P%4l$4kTVM|yfj;dyX=l?Rts`|n7o36t z5UU(%5dCGX6HRCZG^L$GwmN5Al`}5NnOt=)u8Par5QK8O_vWhhB zRH1vCUeo!I5%$CT&W>A{javH3!Si-~#r5yN*6Ff%~}Eo@M?{gG?{uOFUu)zS#FSR9jl^5u5%G zcN$U6qLQQ$l^yL)stTS(50Y>;5v#n_OH~;e`Gp33{w67Hl9TDLem2hR7whsGyt}yS z(9v@RA;az^yo=A?{bl-7kzzFYi=C?62i3{9ac7Pi6XI-SbLuCi#PtV+KUH?-5AV=A zJS7NU|Hk|?{rRQGJ;%?_NJ_%eCzn#iB@zAc|FF8{GMM(9}4>9u3T$)n}9MgH=! zBi$393@QH7(YHCQBg(;c*$;uNm+ENF*usCGzHh%e=IZ!JPuWW=YMxn}`Be(%V3VT0 zsrH?KY2kJHh+__qZLhj=wR)tYsdX&$nC;wJm!L+@&(w2+i3nqT~G{?@8a2#!z$zj`JE<^tVVJEmU delta 2641 zcmZwI4^&gv9S88=BLoPbfq>E>B8~D#k_Hkme*{!Q5H%zuh@zq(5TFx55TqdJli?qZ z;-8AjJfdx}u+~`{41cnzpml=VM2~{owDoAkG3~T4>%`Vh_Dw83r|0<2`TXwp-FtKI zdr4kmu68h2JM63Sz8Urc^~Rr9%#^RoMDMsYDS<8=(P?K{K2L3;Yo-z-71we}g;l0LH*c8A?7% z+d3lhSBfZ*MG->;%!XK407LML=XFItN z7=SO~K0LC|m(U3ED7*r$T0-vN1-|e$gg_X`fsIj*Z#dpcNP~eQd%uLE=$atAN)g}39!Z)+xn#LuKKkV6b; zKnuyR+&)i8tK)@~2W%nA2I$cUv8j-%kZWKk`~&X75LC?<(z^*l%3L6%Lf8o{a0C1n z3TXx`f=n2O6^q6%Xa@OfZFvgmv{NYGp8e>F){mZPiN(NFda0dC0g1Lr{*;pFPwRim zcM_-31NgW7+%|4I0_bUC07-SW%us^PfmT2!ybJ4~3^u`5*aiFHG~9rvAkaIIOwXZY zJgjKPHj1|IoCAfzgIl+L1v4X%^{B??#k__|UqasiY=rNNC38{DbcFo9aZ z3f<5HV&w$tLpxxYNFxS5{b=wY7o#Wc$`d!`N!~^Q1%e!6j9#QMdXoWCA>BBMij0#f zt61+tRmQid))+(wpbNq88Cg^Cn`m)!ZJ5fwW&dt4G+XX~mvexj8aWrOlRZ}}T+s6Dc}VGo z)*YNEUCpCx4MS(+J#g*`0&oRqd%IZY__{UpGS}z|bB+lnE^Xll+t&36#;gT`IC5lZ zGe4UgQETk=BI-u|puN^Gj#S1UL@niW92{vqpTlvaBK~xH%|=Jo1!={cZA~swS@$09ILojOOJ{oia5-+INqAZ_xWW7+s)wuA`G(X+xU8JK zC|@jouqt2pyhs+NL|a|)>V7Y9%_xAns?N4s;%jic~f1y<+);X)%xA#hfR#*0z0z1iM$9Z* diff --git a/ImageNodes/ImageNodes.csproj b/ImageNodes/ImageNodes.csproj index b2960a6a..ec74d57f 100644 --- a/ImageNodes/ImageNodes.csproj +++ b/ImageNodes/ImageNodes.csproj @@ -26,7 +26,7 @@ - + diff --git a/ImageNodes/Images/AutoCropImage.cs b/ImageNodes/Images/AutoCropImage.cs index 8d145f3a..90ec5ba1 100644 --- a/ImageNodes/Images/AutoCropImage.cs +++ b/ImageNodes/Images/AutoCropImage.cs @@ -42,7 +42,8 @@ public class AutoCropImage : ImageNode private int ExecuteImageSharp(NodeParameters args) { - using var image = Image.Load(args.WorkingFile, out IImageFormat format); + var format = Image.DetectFormat(args.WorkingFile); + using var image = Image.Load(args.WorkingFile); int originalWidth = image.Width; int originalHeight= image.Height; float threshold = Threshold / 100f; @@ -74,8 +75,8 @@ public class AutoCropImage : ImageNode if (bounds.Width == originalWidth && bounds.Height == originalHeight) return 2; - using var image2 = Image.Load(args.WorkingFile, out format); - + format = Image.DetectFormat(args.WorkingFile); + using var image2 = Image.Load(args.WorkingFile); image2.Mutate(c => { diff --git a/ImageNodes/Images/ImageBaseNode.cs b/ImageNodes/Images/ImageBaseNode.cs index cdafd27e..9035676a 100644 --- a/ImageNodes/Images/ImageBaseNode.cs +++ b/ImageNodes/Images/ImageBaseNode.cs @@ -51,7 +51,9 @@ public abstract class ImageBaseNode:Node } else { - using var image = Image.Load(localFile, out IImageFormat format); + + var format = Image.DetectFormat(localFile); + using var image = Image.Load(localFile); CurrentHeight = image.Height; CurrentWidth = image.Width; CurrentFormat = format.Name; @@ -80,27 +82,27 @@ public abstract class ImageBaseNode:Node } else { - using var image = Image.Load(args.WorkingFile, out IImageFormat format); + var format = Image.DetectFormat(args.WorkingFile); + using var image = Image.Load(args.WorkingFile); DateTime? dateTaken = null; if (image.Metadata.ExifProfile != null) { args.Logger?.ILog("EXIF Profile found"); - var dateTimeOriginalString = image.Metadata.ExifProfile.GetValue(SixLabors.ImageSharp.Metadata.Profiles.Exif.ExifTag.DateTimeOriginal)?.Value; - if (string.IsNullOrWhiteSpace(dateTimeOriginalString)) + if(image.Metadata.ExifProfile.TryGetValue(SixLabors.ImageSharp.Metadata.Profiles.Exif.ExifTag.DateTimeOriginal, out var dateTimeOriginalString) == false + || string.IsNullOrWhiteSpace(dateTimeOriginalString?.Value)) { args.Logger?.ILog("No DateTimeOriginal found"); } else { - if (string.IsNullOrWhiteSpace(dateTimeOriginalString) == false && - TryParseDateTime(dateTimeOriginalString, out DateTime? dateTimeOriginal)) + if (TryParseDateTime(dateTimeOriginalString.Value, out DateTime? dateTimeOriginal)) { dateTaken = dateTimeOriginal; args.Logger?.ILog("DateTimeOriginal: " + dateTimeOriginal); } else { - args.Logger?.ILog("Invalid date format for DateTimeOriginal: " + dateTimeOriginalString); + args.Logger?.ILog("Invalid date format for DateTimeOriginal: " + dateTimeOriginalString.Value); } } } diff --git a/ImageNodes/Images/ImageFlip.cs b/ImageNodes/Images/ImageFlip.cs index 89e2fcb0..fcd63312 100644 --- a/ImageNodes/Images/ImageFlip.cs +++ b/ImageNodes/Images/ImageFlip.cs @@ -18,7 +18,8 @@ public class ImageFlip: ImageNode public override int Execute(NodeParameters args) { var input = ConvertImageIfNeeded(args); - using var image = Image.Load(input, out IImageFormat format); + var format = Image.DetectFormat(input); + using var image = Image.Load(input); image.Mutate(c => c.Flip(Vertical ? FlipMode.Vertical : FlipMode.Horizontal)); var formatOpts = GetFormat(args); SaveImage(args, image, formatOpts.file, formatOpts.format ?? format); diff --git a/ImageNodes/Images/ImageFormat.cs b/ImageNodes/Images/ImageFormat.cs index 2e1518bd..a15400dc 100644 --- a/ImageNodes/Images/ImageFormat.cs +++ b/ImageNodes/Images/ImageFormat.cs @@ -33,7 +33,8 @@ public class ImageFormat: ImageNode } else { - using var image = Image.Load(args.WorkingFile, out IImageFormat format); + var format = Image.DetectFormat(args.WorkingFile); + using var image = Image.Load(args.WorkingFile); SaveImage(args, image, formatOpts.file, formatOpts.format ?? format); return 1; } diff --git a/ImageNodes/Images/ImageNode.cs b/ImageNodes/Images/ImageNode.cs index 6e343607..c2a95944 100644 --- a/ImageNodes/Images/ImageNode.cs +++ b/ImageNodes/Images/ImageNode.cs @@ -165,7 +165,8 @@ public abstract class ImageNode : ImageBaseNode if (updateWorkingFile) { args.SetWorkingFile(file); - using var image = Image.Load(local, out IImageFormat format); + var format = Image.DetectFormat(local); + using var image = Image.Load(local); UpdateImageInfo(args, img.Width, img.Height, format.Name, Variables); } diff --git a/ImageNodes/Images/ImageResizer.cs b/ImageNodes/Images/ImageResizer.cs index e8916dd0..c3ce2b78 100644 --- a/ImageNodes/Images/ImageResizer.cs +++ b/ImageNodes/Images/ImageResizer.cs @@ -58,7 +58,8 @@ public class ImageResizer: ImageNode public override int Execute(NodeParameters args) { string inputFile = ConvertImageIfNeeded(args); - using var image = Image.Load(inputFile, out IImageFormat format); + var format = Image.DetectFormat(inputFile); + using var image = Image.Load(inputFile); SixLabors.ImageSharp.Processing.ResizeMode rzMode; switch (Mode) { diff --git a/ImageNodes/Images/ImageRotate.cs b/ImageNodes/Images/ImageRotate.cs index ef6a83d4..e9e950d4 100644 --- a/ImageNodes/Images/ImageRotate.cs +++ b/ImageNodes/Images/ImageRotate.cs @@ -36,7 +36,8 @@ public class ImageRotate: ImageNode public override int Execute(NodeParameters args) { string inputFile = ConvertImageIfNeeded(args); - using var image = Image.Load(inputFile, out IImageFormat format); + var format = Image.DetectFormat(inputFile); + using var image = Image.Load(inputFile); image.Mutate(c => c.Rotate(Angle)); var formatOpts = GetFormat(args); SaveImage(args, image, formatOpts.file, formatOpts.format ?? format);