Esempio n. 1
0
        private void LoadSpreadsheet()
        {
            if (!this.IsImportCancelled)
            {
                LogImportMessage("Loading Spreadsheet", 0);

                RaiseImportProgressChangedEvent("Loading Spreadsheet");

                using (var epmLiveFileStore = new EPMLiveFileStore(_spWeb))
                {
                    using (Stream stream = epmLiveFileStore.GetStream(_fileId))
                    {
                        if (!this.IsImportCancelled)
                        {
                            ParseExcelResources(stream);
                        }
                    }

                    epmLiveFileStore.Delete(_fileId);
                }

                if (!this.IsImportCancelled)
                {
                    BuildResourceTable();
                }

                _totalRecords = _dtResources.Rows.Count;
            }
        }
        private byte[] ResizeImage(string resizeInfo)
        {
            string[] picInfo = resizeInfo.Split('|');

            int width        = int.Parse(picInfo[0]);
            int height       = int.Parse(picInfo[1]);
            int targetWidth  = int.Parse(picInfo[2]);
            int targetHeight = int.Parse(picInfo[3]);
            int x            = int.Parse(picInfo[4]);
            int y            = int.Parse(picInfo[5]);

            using (var fileStore = new EPMLiveFileStore(Web))
            {
                using (var sourceImage = new Bitmap(fileStore.GetStream(FileNameField.Value)))
                {
                    using (var bitmap = new Bitmap(width, height))
                    {
                        using (var graphics = Graphics.FromImage(bitmap))
                        {
                            graphics.CompositingQuality = CompositingQuality.HighQuality;
                            graphics.InterpolationMode  = InterpolationMode.HighQualityBicubic;
                            graphics.PixelOffsetMode    = PixelOffsetMode.HighQuality;
                            graphics.SmoothingMode      = SmoothingMode.HighQuality;

                            graphics.DrawImage(sourceImage, new Rectangle(0, 0, width, height));

                            using (var memoryStream = new MemoryStream())
                            {
                                bitmap.Save(memoryStream, ImageFormat.Png);

                                using (var bmp = new Bitmap(bitmap))
                                {
                                    using (var pic = bmp.Clone(new Rectangle(x, y, targetWidth, targetHeight),
                                                               bitmap.PixelFormat))
                                    {
                                        using (var stream = new MemoryStream())
                                        {
                                            pic.Save(stream, ImageFormat.Png);
                                            return(stream.ToArray());
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }