internal static Bitmap GetDragImageHint( ContentAlignment textAlignment, Bitmap hintImage, RectangleF textRectangle, int hintImageWidth) { int width = hintImage.Width; if (width > hintImageWidth) { width = hintImageWidth; int x = (hintImage.Width - hintImageWidth) / 2; Point location = Point.Empty; switch (textAlignment) { case ContentAlignment.TopCenter: case ContentAlignment.MiddleCenter: case ContentAlignment.BottomCenter: location = new Point(x, 0); break; case ContentAlignment.TopRight: case ContentAlignment.MiddleRight: case ContentAlignment.BottomRight: location = Point.Truncate(textRectangle.Location); break; } Rectangle cropRectangle = new Rectangle(location, new Size(width, hintImage.Height)); hintImage = ImageHelper.Crop(hintImage, cropRectangle); } ImageHelper.ApplyMask(hintImage, (Brush) new LinearGradientBrush(new Rectangle(0, 0, width, hintImage.Height), Color.White, Color.Black, LinearGradientMode.Horizontal)); return(hintImage); }
protected override Image GetDragHintCore() { Bitmap bitmap = base.GetDragHintCore() as Bitmap; int width = bitmap.Width; if (width > 150) { width = 150; bitmap = ImageHelper.Crop(bitmap, new Rectangle(Point.Empty, new Size(width, bitmap.Height))); } ImageHelper.ApplyMask(bitmap, (Brush) new LinearGradientBrush(new Rectangle(0, 0, width, bitmap.Height), Color.White, Color.Black, LinearGradientMode.Horizontal)); return((Image)bitmap); }