【发布时间】:2012-11-10 23:24:17
【问题描述】:
我正在开发一个图形应用程序,我需要为每个页面保留一个缩略图。 挑战在于如何在不损失性能的情况下生成缩略图文件??
目前这是我的代码:
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 生成缩略图?
谢谢
【问题讨论】:
-
你有多少张图片,多久更换一次,等等?这些因素可能会影响正确答案
-
查看imageresizing.net 以获得良好的解决方案,并查看nathanaeljones.com/blog/2009/20-image-resizing-pitfalls 以获得有关图像大小调整的一般信息
-
图片的数量可能会有所不同,我不知道用户会如何使用它,但是,至于改变,它只是用户重新调整大小、旋转或移动图片的时候
标签: c# .net wpf thumbnails