public void Fill(IHasPicture pictureOwner) { if (pictureOwner == null) { Source = null; return; } if (pictureOwner.Picture == null) { Source = DefaultProfile; } else { var cacheItem = PicturesCache.Instance.GetImage(pictureOwner.Picture); if (cacheItem == null) { Source = DefaultProfile; } else { if (cacheItem.Image == null) { Source = DefaultProfile; } else { Source = GetBitmapSource((Bitmap)cacheItem.Image); } } } }
public void Fill(IHasPicture profile) { if (pictureLoaded) { return; } System.Drawing.Image image = null; if (profile != null && profile.Picture != null) { try { profile.Picture.SessionId = UserContext.Current.Token.SessionId; var pictureDto = ServiceManager.GetImage(profile.Picture); pictureInfo = pictureDto.GetPictureInfo(); var cacheItem = pictureDto.ToPictureCacheItem(); PicturesCache.Instance.AddToCache(cacheItem); image = cacheItem.Image; ErrorOccured = false; } catch (FileNotFoundException ex) { ErrorOccured = true; ExceptionHandler.Default.Process(ex); setText(Strings.PhotoDoesntExist); } } setControls(image); pictureLoaded = true; }
public void Fill(PictureBox pictureBox, IHasPicture pictureOwner) { this.pictureBox = pictureBox; this.pictureOwner = pictureOwner; if (pictureOwner == null) { pictureBox.Image = null; return; } if (pictureOwner.Picture == null) { pictureBox.Image = Icons.DefaultProfile; } else { var cacheItem = PicturesCache.Instance.GetImage(pictureOwner.Picture); if (cacheItem == null) { pictureBox.Image = Icons.DefaultProfile; } else { if (cacheItem.Image == null) { pictureBox.Image = pictureBox.ErrorImage; } else { pictureBox.Image = cacheItem.Image; } } } }
public void Fill(IHasPicture pictureOwner) { if (pictureOwner == null) { Source = null; defaultImageLoaded = false; return; } if (pictureOwner.Picture == null) { setDefaultImage(); } else { var cacheItem = PicturesCache.Instance.GetImage(pictureOwner.Picture); if (cacheItem == null) { setDefaultImage(); } else { setImage(cacheItem.Image); } } }
public PictureDTO Save(IHasPicture profile) { if (!pictureLoaded) { return(null); } PictureDTO pic = null; if (imageChanged) { if (btnDelete.Visibility == Visibility.Visible /*gdy przycisk delete jest widoczny to znaczy ze jest wybrany niestandardowy obrazek*/) { var stream = new MemoryStream(); PngBitmapEncoder encoder = new PngBitmapEncoder(); encoder.Frames.Add(BitmapFrame.Create((BitmapSource)imgControl.Source)); encoder.Save(stream); //Image.Save(stream, ImageFormat.Png); stream.Seek(0, SeekOrigin.Begin); pic = new PictureDTO(UserContext.Current.Token); pic.ImageStream = new MemoryStream(); var resizedImage = Helper.Resize(stream, UserDTO.PictureMaxWidth, UserDTO.PictureMaxHeight, BitmapScalingMode.HighQuality); var targetEncoder = new PngBitmapEncoder(); targetEncoder.Frames.Add(resizedImage); targetEncoder.Save(pic.ImageStream); //targetBytes = memoryStream.ToArray(); //resizedImage.Save(pic.ImageStream, ImageFormat.Bmp); pic.ImageStream.Seek(0, SeekOrigin.Begin); pic.Hash = CryptographyHelper.GetMD5HashFromFile(pic.ImageStream); pic.ImageStream.Seek(0, SeekOrigin.Begin); } else { profile.Picture = null; if (pictureInfo != null) { PicturesCache.Instance.Remove(pictureInfo.PictureId); } } } return(pic); }