- About Graphics Mill
- What's New?
- Breaking Changes in Graphics Mill 12
- Breaking Changes in Graphics Mill 11
- Features
- Supported File Formats
- System Requirements
- Getting Started
- Working with Image Formats
- Transforming Images (Resize, Rotate, Crop)
- Working with Metadata
- Color Management and Color Reduction
- Drawing Text and Graphics
- Color Keying (Green Screen Removal)
- Channels and Pixel Data
- Color and Tone Correction
- Working with Photoshop (PSD) Files
- Image Filters
- Processing Large Images
- Basics of Image Processing
- Troubleshooting
- Class Library Reference
- Aurigma.GraphicsMill Namespace
- Aurigma.GraphicsMill.Codecs Namespace
- Aurigma.GraphicsMill.Codecs.ClippingPath Namespace
- Aurigma.GraphicsMill.Codecs.Psd Namespace
- Aurigma.GraphicsMill.Drawing Namespace
- Aurigma.GraphicsMill.Drawing.Art Namespace
- Aurigma.GraphicsMill.Drawing.Effects Namespace
- Aurigma.GraphicsMill.Licensing Namespace
- Aurigma.GraphicsMill.Templates Namespace
- Aurigma.GraphicsMill.Transforms Namespace
- AddNoise Class
- AdjustHsl Class
- AutoCrop Class
- BezierTransform Class
- Blender Class
- BlenderOnInitEventArgs Class
- BlendMode Enumeration
- Blur Class
- Brightness Class
- BrightnessContrast Class
- ChannelBalance Class
- CnvTransform Class
- ColorConverter Class
- ColorManagementEngine Enumeration
- ColorOverlay Class
- ColorQuantizationAlgorithm Enumeration
- ColorTransformationIntent Enumeration
- CombineMode Enumeration
- Combiner Class
- CombinerOnInitEventArgs Class
- ContiguousBackgroundRemoval Class
- Contrast Class
- Crop Class
- Cylindrize Class
- Desaturate Class
- DistributionKind Enumeration
- DitheringType Enumeration
- EdgeDetect Class
- EdgeDetectMode Enumeration
- Emboss Class
- FadeType Enumeration
- Flip Class
- FlipType Enumeration
- FloodFill Class
- FloodFillMode Enumeration
- GreenScreenRemoval Class
- HistogramEqualize Class
- IBitmapTransform Interface
- ImageTransmitter Class
- InterpolationMode Enumeration
- Invert Class
- Levels Class
- Lut Class
- LutInterpolationMode Enumeration
- LutTransform Class
- MaskTransform Class
- Matrix Class
- MatrixTransform Class
- Maximum Class
- Median Class
- Minimum Class
- Mosaic Class
- RemoveAlpha Class
- Resize Class
- ResizeInterpolationMode Enumeration
- ResizeMode Enumeration
- ResolutionModifier Class
- Rotate Class
- ScaleAlpha Class
- SetAlpha Class
- Shadow Class
- Sharpen Class
- SmartBlur Class
- Solarize Class
- Spray Class
- StackBlur Class
- Texturize Class
- Transform Class
- Transparentize Class
- UnsharpMask Class
- Licensing
- End User License Agreement
- Copyright Notices
Shadow Class
Applies a shadow effect to an image.
Namespace:
Aurigma.GraphicsMill.Transforms
Assembly:
Aurigma.GraphicsMill (in Aurigma.GraphicsMill.dll)
Syntax
public sealed class Shadow : Transform
Remarks
When you apply this effect, the image drops a shadow with specified parameters (taking into account transparent areas of the image). This effect is ideal for creating artistic texts, logos, etc.
You can specify a number of shadow parameters. HorizontalOffset and VerticalOffset specify offset of the shadow relatively the image. Color means the shadow color. To make shadow looking more realistic, it is blurred. You can set blur Radius (amount of the shadow fuzziness). Property EnlargeToFit can be used to specify if the transform should increase size of the image to fit the shadow or it should truncate the shadow which is out of the original image (makes sense to set it to true when you create artistic thumbnails).
If the bitmap does not have an alpha channel (e.g. its pixel format is Format24bppRgb), alpha channel is automatically added. So be aware that pixel format of the output bitmap may differ from the input one.
Examples
The following code gets the thumbnail from an image EXIF metadata, applies the Shadow transform on it, and saves the result:
using (var jpegReader = new JpegReader(@"Images\in.jpg"))
{
using (var thumbnail = (Bitmap)(jpegReader.Exif[ExifDictionary.Thumbnail]))
{
//Add the alpha channel
if (!thumbnail.HasAlpha)
thumbnail.Channels.SetAlpha(1);
//Apply Shadow transform
thumbnail.Transforms.Shadow(RgbColor.Black, 4, 4, 10, true);
//Flatten alpha channel
thumbnail.Channels.RemoveAlpha(RgbColor.White);
thumbnail.Save(@"Images\out.jpg");
}
}