生成缩略图的最有效方法是什么?
作者:互联网
我正在开发图形应用程序,并且需要为每个页面保留一个缩略图.
挑战在于如何在不损失性能的情况下生成缩略图文件?
目前,这是我要执行的代码:
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