예제 #1
0
 /// <summary>
 /// サムネイル画像を保存する。
 /// </summary>
 /// <param name="photoName">写真名</param>
 /// <param name="newImage">サムネイル化する画像</param>
 public static void SaveImage(string photoName, Bitmap newImage)
 {
     try
     {
         Bitmap image = PhotoChatImage.ResizeImage(
             newImage, PhotoChat.ThumbnailWidth, PhotoChat.ThumbnailHeight);
         image.Save(GetImageFilePath(photoName), ImageFormat.Jpeg);
         image.Dispose();
     }
     catch (Exception e)
     {
         PhotoChat.WriteErrorLog(e.ToString());
     }
 }
예제 #2
0
 /// <summary>
 /// サムネイル画像を更新する。
 /// </summary>
 /// <param name="newImage">更新</param>
 public void UpdateImage(Bitmap newImage)
 {
     try
     {
         if (Interlocked.Exchange(ref needImageUpdate, 0) != 0)
         {
             SaveImage(photoName, newImage);
             Image temp = image;
             this.image = PhotoChatImage.ResizeImage(newImage, imageWidth, imageHeight);
             if (temp != null)
             {
                 temp.Dispose();
             }
         }
     }
     catch (Exception e)
     {
         PhotoChat.WriteErrorLog(e.ToString());
     }
 }
예제 #3
0
        /// <summary>
        /// 指定したサイズにサムネイル画像を縮小して返す。
        /// ただし指定サイズが画像ファイル以上の場合はサイズ変換しない。
        /// サムネイル画像がまだ無い場合はnullを返す。
        /// </summary>
        /// <param name="photoName">写真名</param>
        /// <param name="width">サムネイルの幅</param>
        /// <param name="height">サムネイルの高さ</param>
        /// <returns>指定したサイズのサムネイル画像。画像がない場合はnull。</returns>
        public static Bitmap GetImage(string photoName, int width, int height)
        {
            try
            {
                // 画像ファイルが存在するか確認
                string filePath = GetImageFilePath(photoName);
                if (!File.Exists(filePath))
                {
                    return(null);
                }

                // 画像を指定サイズに変換して返す
                Bitmap original = new Bitmap(filePath);
                Bitmap image    = PhotoChatImage.ResizeImage(original, width, height);
                original.Dispose();
                return(image);
            }
            catch (Exception e)
            {
                PhotoChat.WriteErrorLog(e.ToString());
                return(null);
            }
        }