protected virtual Bitmap ProcessImage(Image image) { Bitmap result; Bitmap originalResult; int mirrorSize; float denomination = 1.0f; if (image == null) { return(null); } if (dockManager.UseDenomination) { denomination = (float)((float)image.Width / settings.IconSize); result = BitmapPainter.ConvertToRealColors(image, false); } else { if ((image.Width != settings.IconSize) || (image.Height != settings.IconSize)) { result = BitmapPainter.ResizeBitmap(image, settings.IconSize, settings.IconSize); } else { result = BitmapPainter.ConvertToRealColors(image, false); } } if (settings.ReflectionDepth > 0) { if (dockManager.UseDenomination) { mirrorSize = (int)(settings.ReflectionDepth * denomination); } else { mirrorSize = settings.ReflectionDepth; } originalResult = result; result = (Bitmap)BitmapPainter.CreateReflectionImage(result, mirrorSize); originalResult.Dispose(); } return(result); }