其他分享
首页 > 其他分享> > 生成缩略图的最有效方法是什么?

生成缩略图的最有效方法是什么?

作者:互联网

我正在开发图形应用程序,并且需要为每个页面保留一个缩略图.
挑战在于如何在不损失性能的情况下生成缩略图文件?

目前,这是我要执行的代码:

VisualBrush VisualBrush = new VisualBrush(pageToGenerateThumbnailFor);
UIVisual.Background = VisualBrush;

RenderTargetBitmap = new RenderTargetBitmap((int)UIVisual.ActualWidth, (int)UIVisual.ActualHeight, 96, 96, PixelFormats.Pbgra32);

rtb.Render(UIVisual);

using (FileStream outStream = new FileStream(ThumbFileFullPath, FileMode.OpenOrCreate, 
System.IO.FileAccess.ReadWrite))
{
   PngBitmapEncoder pngEncoder = new PngBitmapEncoder();
   pngEncoder.Frames.Add(BitmapFrame.Create(rtb));
   pngEncoder.Save(outStream);
}

那么,有没有一种更快的方法来为给定的Visual生成缩略图?

谢谢

解决方法:

我最近做了一些研究,以便为一个电子商务网站即时生成图像缩略图.我开始自己做这个,生成位图,然后调整大小等,类似于上面的答案.在光盘上的图像大小和质量出现问题之后,我查看了http://imageresizing.net/,此后我再也没有回头.它可以使用一行代码非常快速地从byte(),流和物理文件生成图像:

ImageBuilder.Current.Build(New MemoryStream(bImage), sImageLocation + sFullFileName, New      ResizeSettings("maxwidth=214&maxheight=238"))

我绝对会推荐此组件,而不是尝试重新发明轮子.

标签:thumbnails,wpf,c,net
来源: https://codeday.me/bug/20191031/1977028.html