“熊猫视图”.Net图形控件功能介绍 [二]:一行代码实现图形图像缩放平操作https://blog.csdn.net/mosangbike/article/details/126027017
一、控件简介
本人很久之前在业余时间写过一个早期版本的图形程序,期间因为各种原因长期搁置,后来又断断续续逐步升级完善,整个过程都以时间线的方式记录在CSDN的个人博客中。随着功能逐步增加,内核迭代重构,显示效率提高,架构趋于稳定,也为了实现个人的一个小目标,所以封装为一个全新版本的图形图像操作控件,名称经过再三斟酌,考虑到完全本土的因素,正式叫“熊猫视图”(PandaView)。
“熊猫视图”(PandaView)是一个使用C#语言开发的.Net平台轻量级视图控件,未引用任何第三方组件或库,全部代码完全独立自主研究编写,封装常用视图操作功能,内核稳健,简明易用,自由定制,扩展性强,非常适合对图形图像编程陌生的用户使用。本控件的功能设计和使用体验,均是以本人的应用需求为考量前提,所以实现了一些独有的方法属性。
本控件只有一个DLL文件,提供坚如磐石的内核,独有显示加速技术,内存管理完善(无强制GC),开发使用简单,任何操作或细节都支持自由定制。可应用于图形绘制、图像展示、GIS开发、交互动画等用途。本控件仅出售源代码(含1年开发技术支持),请email至imwhj@qq.com,邮件标题中务必写有“熊猫视图”,否则会被过滤。。这应该是目前.Net开发中原生无依赖显示速度最快的平台(如有更快同类型产品请告知)。。
二、控件使用
“熊猫视图”控件封装在一个dll文件中,在VS项目中引用后,工具箱中显示如下:
通过以下代码,可以将本控件嵌入到主程序中,编译发布为一个独立的exe文件,便于软件分发。
AppDomain.CurrentDomain.AssemblyResolve += delegate (object sender, ResolveEventArgs args)
{
/* 先将.dll放到Resources文件夹中,并逐个设置dll文件属性中"生成操作"为"嵌入的资源"
* 默认命名空间.[存放dll的文件夹名].xxx.dll
*/
const string dllFolder = "Resources"; //嵌入的dll位置
//项目的命名空间名称
string sNamespace = new AssemblyName(Assembly.GetExecutingAssembly().FullName).Name;
//名称
string sName = new AssemblyName(args.Name).Name;
string path = sNamespace + "." + dllFolder + "." + sName + ".dll";
Stream stream = Assembly.GetExecutingAssembly().GetManifestResourceStream(path);
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
return Assembly.Load(buffer);
};
将控件图标直接拖拽到窗体中,此时,即可开始使用“熊猫视图”控件。
下图是在Win10系统,2K分辨率屏幕中,全屏绘制两百个随机椭圆时的内存占用为29.7MB。
以下是测试加载一张4K图片(大小为3M),屏幕为2K(2560x1440像素),CPU为Intel I7-2600K,16G内存,显卡1050TI。本控件全屏显示、图片放大全屏的情况下进行实时平移操作,显示帧率平均为19帧/秒,内存占用为50M左右。 在更高性能CPU中相信显示速度会更快。
目前对4K图的缩放平操作已提升到45帧【cpu为i7-2600(4核心8线程)】
“熊猫视图.Net” 控件测速详情https://blog.csdn.net/mosangbike/article/details/131051201
熊猫视图 专栏介绍https://blog.csdn.net/mosangbike/category_11970737.html