コード例 #1
0
        private static String ExecResizeImage(byte[] imageData, Size fotoSize, IDataStore dataStore, String photoPath)
        {
            var data = imageData;

            using (var stream = new MemoryStream(data))
                using (var img = new Bitmap(stream))
                {
                    var imgFormat = img.RawFormat;
                    if (fotoSize != img.Size)
                    {
                        using (var img2 = Global.DoThumbnail(img, fotoSize))
                        {
                            data = Global.SaveToBytes(img2, imgFormat);
                        }
                    }
                    else
                    {
                        data = Global.SaveToBytes(img);
                    }

                    var fileExtension = String.Concat("." + Global.GetImgFormatName(ImageFormat.Jpeg));

                    using (var fileStream = new MemoryStream(data))
                    {
                        var photoUri = dataStore.Save(photoPath, fileStream).ToString();
                        photoUri = String.Format("{0}?cd={1}", photoUri, DateTime.UtcNow.Ticks);
                        return(photoUri);
                    }
                }
        }
コード例 #2
0
        private static void ExecResizeImage(ResizeWorkerItem resizeWorkerItem)
        {
            foreach (var fotoSize in resizeWorkerItem.RequireFotoSize)
            {
                var data = resizeWorkerItem.ImageData;
                using (var stream = new MemoryStream(data))
                    using (var img = new Bitmap(stream))
                    {
                        var imgFormat = img.RawFormat;
                        if (fotoSize != img.Size)
                        {
                            using (var img2 = Global.DoThumbnail(img, fotoSize))
                            {
                                data = Global.SaveToBytes(img2, imgFormat);
                            }
                        }
                        else
                        {
                            data = Global.SaveToBytes(img);
                        }

                        var fileExtension = String.Concat("." + Global.GetImgFormatName(ImageFormat.Jpeg));

                        var photoPath = !resizeWorkerItem.UploadOnly
                                        ? BuildFilePath(resizeWorkerItem.ContactID, fotoSize, fileExtension)
                                        : BuildFileTmpPath(resizeWorkerItem.ContactID, fotoSize, fileExtension, resizeWorkerItem.TmpDirName);

                        using (var fileStream = new MemoryStream(data))
                        {
                            var photoUri = resizeWorkerItem.DataStore.Save(photoPath, fileStream).ToString();
                            photoUri = String.Format("{0}?cd={1}", photoUri, DateTime.UtcNow.Ticks);

                            if (!resizeWorkerItem.UploadOnly)
                            {
                                ToCache(resizeWorkerItem.ContactID, photoUri, fotoSize);
                            }
                        }
                    }
            }
        }