コード例 #1
0
ファイル: TagController.cs プロジェクト: csell5/Demos
        public ActionResult Thumbnail(string id)
        {
            var repository = new TagRepository();
            var tag = repository.GetTag(id);
            var photoList = repository.GetPhotoList(id);

            if (tag != null && photoList.Count > 0)
            {
                using (MultiThumbnailGenerator generator = new MultiThumbnailGenerator())
                {
                    foreach (var photo in photoList)
                    {
                        using (var imageStream = new System.IO.MemoryStream(photo.FileContents))
                        {
                            using (var image = System.Drawing.Image.FromStream(imageStream))
                            {
                                generator.AddImage(image);
                            }
                        }
                    }

                    using (var outStream = new System.IO.MemoryStream())
                    {
                        generator.WritePngToStream(outStream);
                        var image = new WebImage(outStream);
                        image.Write();
                    }
                }

                return null;
            }

            return Redirect("~/Content/Images/gallery-empty.png");
        }
コード例 #2
0
        public void GetImage(string horizontalFlip="", string verticalFlip="",
                            string rotateLeft="", string rotateRight="")
        {
            var imagePath = Server.MapPath("~/images/bunny-peanuts.jpg");
            var image = new WebImage(imagePath);

            if (!string.IsNullOrWhiteSpace(verticalFlip))
                image = image.FlipVertical();
            if (!string.IsNullOrWhiteSpace(horizontalFlip))
                image = image.FlipHorizontal();
            if (!string.IsNullOrWhiteSpace(rotateLeft))
                image = image.RotateLeft();
            if (!string.IsNullOrWhiteSpace(rotateRight))
                image = image.RotateRight();

            image.Write();
        }
コード例 #3
0
        //---------------------------------------------------------------------------------------------------

        //--Изменят размер и обрезает изображение или просто изменяет размер---------------------------------
        public void GetResizeImage(int id, int rWidth = 320, int rHeight = 320, int cWidth = 0, int cHeight = 0)
        {
            ImageDetails img = repository.Load(id);
            WebImage wbImage = new WebImage(img.image);
            wbImage.Resize(rWidth, rHeight); //--изменяем размер картинки--

            int h = wbImage.Height, w = wbImage.Width;

            wbImage.Crop(cHeight, cWidth, cHeight, cWidth); //--обрезаем картинку--
            wbImage.FileName = img.title + ".jpg";

            wbImage.Write();
        }
コード例 #4
0
ファイル: FileController.cs プロジェクト: larswise/rCMS
        public void GetCurrentImage(string key)
        {
            WebImage wi = new WebImage(_worker.FileRepository.RetrieveAttachment(key));

            wi.Write();
        }
コード例 #5
0
ファイル: GalleryController.cs プロジェクト: csell5/Demos
        public ActionResult Thumbnail(int id)
        {
            var db = new PhotoGalleryRepository();

            var gallery = db.GetGallery(id);
            if (gallery == null)
            {
                return HttpNotFound();
            }

            var photos = db.GetTopPhotosForGallery(id);
            if (photos.Count == 0)
            {
                return File(Server.MapPath("~/Content/Images/gallery-empty.png"), "image/jpeg");
            }

            using (var generator = new MultiThumbnailGenerator())
            {
                foreach (var photo in photos)
                {
                    using (var imageStream = new MemoryStream(photo.FileContents))
                    {
                        using (var image = System.Drawing.Image.FromStream(imageStream))
                        {
                            generator.AddImage(image);
                        }
                    }
                }
                using (var outStream = new MemoryStream())
                {
                    generator.WritePngToStream(outStream);
                    var image = new WebImage(outStream);
                    image.Write();

                    return null;
                }
            }
        }