private Image GetImageThumbnail(Bitmap sourceBitmap) { //bad for small or disproportionate images //return sourceBitmap.GetThumbnailImage(config.ThumbnaillWidth, config.ThumbnaillHeight, () => false, IntPtr.Zero); var targetSize = new Size(Math.Min(sourceBitmap.Width, config.ThumbnaillWidth), Math.Min(sourceBitmap.Height, config.ThumbnaillHeight)); var point = new Point(0, 0); var size = targetSize; if (sourceBitmap.Width > config.ThumbnaillWidth && sourceBitmap.Height > config.ThumbnaillHeight) { if (sourceBitmap.Width > sourceBitmap.Height) { var width = (int)(config.ThumbnaillWidth * (sourceBitmap.Height / (1.0 * config.ThumbnaillHeight))); size = new Size(width, sourceBitmap.Height); } else { var height = (int)(config.ThumbnaillHeight * (sourceBitmap.Width / (1.0 * config.ThumbnaillWidth))); size = new Size(sourceBitmap.Width, height); } } if (sourceBitmap.Width > sourceBitmap.Height) { point.X = (sourceBitmap.Width - size.Width) / 2; } var targetThumbnailSettings = new UserPhotoThumbnailSettings(point, size); return(UserPhotoThumbnailManager.GetBitmap(sourceBitmap, targetSize, targetThumbnailSettings, InterpolationMode.Bilinear)); }
protected override void OnInit(EventArgs e) { base.OnInit(e); var defuaultPhoto = UserPhotoManager.GetDefaultPhotoAbsoluteWebPath(); if (User == null) { MainImgUrl = defuaultPhoto; ThumbnailSettings = UserPhotoThumbnailSettings.LoadForDefaultTenant(); } else { IsLdap = User.IsLDAP(); HasAvatar = User.HasAvatar(); MainImgUrl = UserPhotoManager.GetPhotoAbsoluteWebPath(User.ID); ThumbnailSettings = UserPhotoThumbnailSettings.LoadForUser(User.ID); } Page.RegisterStyle("~/usercontrols/users/userprofile/css/loadphoto_style.less", "~/usercontrols/users/userprofile/css/jquery.jcrop.less") .RegisterBodyScripts("~/js/uploader/ajaxupload.js", "~/usercontrols/users/userprofile/js/loadphoto.js", "~/usercontrols/users/userprofile/js/jquery.jcrop.js"); var script = string.Format( "window.ASC.Controls.LoadPhotoImage.init('{0}',[{1},{2}],{{point:{{x:{3},y:{4}}},size:{{width:{5},height:{6}}}}},'{7}', '{8}');", User == null ? "" : User.ID.ToString(), UserPhotoManager.SmallFotoSize.Width, UserPhotoManager.SmallFotoSize.Height, ThumbnailSettings.Point.X, ThumbnailSettings.Point.Y, ThumbnailSettings.Size.Width, ThumbnailSettings.Size.Height, HasAvatar ? MainImgUrl : "", defuaultPhoto); Page.RegisterInlineScript(script); }