Esempio n. 1
0
 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);
             }
         }
     }
 }
Esempio n. 2
0
 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;
                    }
                }
            }
        }
Esempio n. 4
0
 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);
         }
     }
 }
Esempio n. 5
0
        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);
        }