protected Image DrawReflection(Image bmp) { Bitmap reflection = WatermarkEffects.AddReflection(bmp, Config.ReflectionPercentage, Config.ReflectionTransparency); if (Config.ReflectionSkew) { reflection = AddSkew(reflection, Config.ReflectionSkewSize); } Bitmap result = new Bitmap(reflection.Width, bmp.Height + reflection.Height + Config.ReflectionOffset); Graphics g = Graphics.FromImage(result); g.DrawImage(bmp, new Point(0, 0)); g.DrawImage(reflection, new Point(0, bmp.Height + Config.ReflectionOffset)); return(result); }
private void ProcessImage(Image img) { States.Add(TaskState.ImageProcessed); bool window = Job2 == JobLevel2.CaptureActiveWindow || Job2 == JobLevel2.CaptureSelectedWindow || Job2 == JobLevel2.CaptureEntireScreen; if (img != null) { if (!window) { // Add Rounded corners bool roundedShadowCorners = false; if (Engine.ConfigUI.ImageAddRoundedCorners) { img = HelpersLib.GraphicsHelper.Core.RemoveCorners(img, null); roundedShadowCorners = true; } // Add shadows if (Engine.ConfigUI.ImageAddShadow) { img = HelpersLib.GraphicsHelper.Core.AddBorderShadow(img, roundedShadowCorners); } } // Effects var effects = new ZScreenCoreLib.ScreenshotEffectsHelper(Engine.ConfigOptions.ConfigImageEffects); img = effects.ApplySizeChanges(img); img = effects.ApplyScreenshotEffects(img); // Watermark if (Job2 != JobLevel2.UploadFromClipboard || !Engine.ConfigWorkflow.ConfigWatermark.WatermarkExcludeClipboardUpload) { img = new WatermarkEffects(WorkflowConfig.ConfigWatermark).ApplyWatermark(img, GetNameParser(NameParserType.Watermark)); } TempImage = img; } }