LeadTools 添加缩略图并展示

LeadTools 具有强大的图片处理引擎,提供图片的缩略图及预览功能也是在图片处理项目中比较常见的功能。本篇文章即将为您介绍如何实现这个功能。提到图片展示,需要提到的背景是在 LeadTools V15 中添加了 ImageViewer 组件用于替代之前的 RasterImageViewer 组件,之后的图片预览展示方面的新功能也都会在 ImageViewer 中更新,RasterImageViewer 不会在添加新功能。并且,随机安装示例也都会使用 ImageViewer 制作。所以强烈建议您通过 ImageViewer 展示图片。

发布于 2015/10/23 00:00

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:

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

推荐相关案例
推荐相关资源
关注微信
葡萄城社区二维码

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态