LeadTools 添加缩略图并展示

发布时间:2015/10/23 00:10 发布者:iceman

返回博客中心

LeadTools 具有强大的图片处理引擎,提供图片的缩略图及预览功能也是在图片处理项目中比较常见的功能。本篇文章即将为您介绍如何实现这个功能。

提到图片展示,需要提到的背景是在 LeadTools V15 中添加了 ImageViewer 组件用于替代之前的 RasterImageViewer 组件,之后的图片预览展示方面的新功能也都会在 ImageViewer 中更新,RasterImageViewer 不会在添加新功能。并且,随机安装示例也都会使用 ImageViewer 制作。所以强烈建议您通过 ImageViewer 展示图片。

下面我们正式开始介绍实现方法;

LeadTools 提供了图片缩略图控件,名称为 RasterThumbnailBrowser,我们只需要指定该类需要展示的文件夹路径即可加载路径中所有图片的缩略图。代码中设置了_browser 为类实例名称,如下:

 _browser.UseDpi = true;
browser.ItemSpacingSize = new Size(10, 10);
_browser.Codecs = new Leadtools.Codecs.RasterCodecs();
LoadImages("..\\..\\resources");

 

LoadImages方法如下:

        private void LoadImages(string imageDirectory)
        {
            _browser.BeginUpdate();
            if (_browser.IsLoadingThumbnails)
            {
                _browser.CancelLoadingThumbnails();
                while (_browser.IsLoadingThumbnails)
                {
                    Application.DoEvents();
                    System.Threading.Thread.Sleep(100);
                }
            }
            _browser.Items.Clear();
            _currentFolder = imageDirectory;
            _cancelLoading = false;
            _browser.LoadThumbnails(_currentFolder, "*.*", RasterThumbnailBrowserLoadFlags.AllDirectories);
            _browser.EndUpdate();
        }

 

下面我们需要是现在 ImageViewer中展示选择的图片,通过 SelectedIndexChanged 实现:

添加事件:

            _browser.SelectedIndexChanged += new EventHandler(_browser_SelectedIndexChanged);

事件实现代码:

        private void _browser_SelectedIndexChanged(object sender, EventArgs e)
        {
            RasterCodecs rcs=new RasterCodecs();
            this.imageViewer1.Image = rcs.Load(this._browser.SelectedItems[0].FileName);
        }

 

 

效果截图:

thumgif

更多LeadTools产品功能请参考:

http://leadtools.grapecity.com.cn/

Demo:


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网