与Asp.net Mvc的缩略图

Col*_*nor 7 asp.net-mvc image thumbnails

有没有人知道从字节数组中显示缩略图的方法,甚至更好的是,这样做的库.谢谢

Ale*_*yev 9

使用ASP.NET MVC 3和WebMatrix,我们现在拥有了很好的标准WebImage类,其中包括GetImageFromRequest,Resize,Crop和AddTextWatermark方法.


Col*_*nor 4

public ActionResult Thumbnail() {
            byte[] myByte = System.IO.File.ReadAllBytes(location);
            Image i;
            using (MemoryStream ms = new MemoryStream()) {
                ms.Write(myByte , 0 , myByte.Length);
                i = Image.FromStream(ms);
            }
            return File(imageToByteArray(i.GetThumbnailImage(100 , 100 , () => false , IntPtr.Zero)) , "image/jpeg");
        }

        public byte[] imageToByteArray ( System.Drawing.Image imageIn ) {
            MemoryStream ms = new MemoryStream();
            imageIn.Save(ms , System.Drawing.Imaging.ImageFormat.Gif);
            return ms.ToArray();
        }
Run Code Online (Sandbox Code Playgroud)

这就是我用的。我不是每次需要缩略图时都这样做,而是在表中创建了一个新列,该列是 varbinary,并在每次需要缩略图时调用该列。

  • GetThumbnailImage() 产生非常可怕的结果(尽管 GIF 编码无论如何都会使其毫无意义)。另请注意,您正在泄漏 Image 对象(GDI 句柄),并且不,GC 不会在您正确处理后清理它。[参见这篇文章](http://nathanaeljones.com/163/20-image-resizing-pitfalls/) (2认同)