I see that drop shadows are now done with Gaussian blur but does X8 allow for the Gaussian blur effect on objects themselves (like Inkscape and other vector applications support)?Also, can the drop shadows be modified if they are separated from their parent object? Are they an SVG object or are they still a bitmap object?
You know, I recently had a need for feathered vector objects and made a little macro that can do it. It's experimental and will probably crash and burn on unsupported objects, etc.
Generally what it does is make a contour inside the object, convert that to a bitmap, make it black, then apply Gaussian blur to it, export that as an image which is then applied as a bitmap transparency map to the original shape, like this:
For the time being you need to set the amount of feathering in mm in the code istelf, but in general it works (apart from needing plenty of cleanup work, like non-jpg mask, making sure the contour isn't too large, etc). If there's interest I can try to clean it up. For now if you are familar with macros you can play around with it:
Sub Feather()
Dim S As Shape Dim V As Shape Dim E As Effect
Dim Gap As Double Dim DPI As Double Dim GBlur As Double
Dim Filter As ExportFilter Dim BitWidth As Double Dim BitHeight As Double
DPI = 72
'Approximate feathering in mm Gap = 20 Gap = ActiveDocument.ToUnits(Gap, cdrMillimeter)
Set S = ActiveShape
Set E = S.CreateContour(cdrContourInside, Gap, 1, , , , , , , cdrContourRoundCap, cdrContourCornerRound)
If E.Type = cdrContour Then Set V = E.Separate.Shapes.First Else Set V = ActiveLayer.CreateRectangle(S.LeftX - Gap, S.TopY + Gap, S.RightX + Gap, S.BottomY - Gap) V.ConvertToCurves End If
V.Fill.CopyAssign S.Fill V.Outline.CopyAssign S.Outline
Set V = V.ConvertToBitmap(, , , True, DPI) V.ApplyEffectHSL 0, 0, -100
GBlur = Gap * DPI * 48
V.Bitmap.ApplyBitmapEffect "Gaussian Blur", "GaussianBlurEffect GaussianBlurRadius=" & GBlur & ",GaussianBlurResampled=0" V.CreateSelection BitWidth = V.SizeWidth BitHeight = V.SizeHeight
Set Filter = ActiveDocument.ExportBitmap(DesktopPath + "fTemp.jpg", cdrJPEG, cdrSelection, , , , DPI, DPI)
With Filter .Compression = 5 .Smoothing = 20 .Progressive = True .SubFormat = 0 ' 0 for 4:2:2, 1 for 4:4:4 .Finish End With
V.Delete
S.Transparency.ApplyPatternTransparency cdrBitmapPattern, DesktopPath + "fTemp.jpg"
With S.Transparency.Pattern
.TileWidth = BitWidth .TileHeight = BitHeight
End With S.Transparency.Start = 100 S.Transparency.End = 0
End Sub
Public Function DesktopPath() As String DesktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop") & "\"End Function
FWIW, the great Os (wOxxOm) created a transparent edge macro many years ago, that used "Bitmap pattern transparency" to create the feathered edge. I think it worked pretty well but don't know if it still do in 2017, or if it can be downloaded any more.Edit: I found it among my macros and it appears to work with 2017 but I'm not sure how well.Seems to be a small update problem (Refresh Window, Ctrl+W needed) but at least I got it to feather the edges in a couple of small tests.
It is still available here.