首页 文章 精选 留言 我的

精选列表

搜索[ice],共331篇文章
优秀的个人博客,低调大师

模仿ICE的structured panorama小按钮

这个按钮的目的是用于手动排列图片序列,应该说写得比较精巧,我使用csharp进行模仿,主要采用的是自动控件创建技术。结果比较简陋,实现功能而已,放出来大家一起学习。 usingSystem; usingSystem.Collections.Generic; usingSystem.ComponentModel; usingSystem.Data; usingSystem.Drawing; usingSystem.Linq; usingSystem.Text; usingSystem.Threading.Tasks; usingSystem.Windows.Forms; namespace动态创建 { publicpartial classForm1 :Form { inticlick1 = - 1; inticlick2 = - 1; Button[]btns = newButton[ 16]; publicForm1() { InitializeComponent(); } private voidForm1_Load(objectsender,EventArgse) { //自动创建 for( inti = 0;i < 16;i ++) { btns[i] = newButton(); btns[i].Name =i.ToString(); //加个名字方便集中操作 btns[i].Size = newSize( 48, 48); intix = 20 + 60 *(i % 4); intiy = 20 + 60 *(i / 4); btns[i].Location = newPoint(ix,iy); this.Controls.Add(btns[i]); //绑定事件 btns[i].Click += newSystem.EventHandler( this.btns_Click); btns[i].MouseHover += newSystem.EventHandler( this.btns_MouseHover); btns[i].MouseLeave += newSystem.EventHandler( this.btns_MouseLeave); } } //集中事件处理 private voidbtns_Click(objectsender,EventArgse) { Buttonbtn =(Button)sender; intindex = int.Parse(btn.Name); if(index == 0 ||index == 3 ||index == 12 ||index == 15) { //将上一个选择的按钮状态变为空 if(iclick1 != - 1) btns[iclick1].Text = ""; if(iclick2 != - 1) btns[iclick2].Text = ""; iclick1 =index; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = "1"; } if(index == 1 ||index == 4) { if(iclick1 != 0) return; //将上一个选择的按钮状态变为空 if(iclick2 != - 1) btns[iclick2].Text = ""; iclick2 =index; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = "2"; } if(index == 2 ||index == 7) { if(iclick1 != 3) return; //将上一个选择的按钮状态变为空 if(iclick2 != - 1) btns[iclick2].Text = ""; iclick2 =index; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = "2"; } if(index == 8 ||index == 13) { if(iclick1 != 12) return; //将上一个选择的按钮状态变为空 if(iclick2 != - 1) btns[iclick2].Text = ""; iclick2 =index; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = "2"; } if(index == 11 ||index == 14) { if(iclick1 != 15) return; //将上一个选择的按钮状态变为空 if(iclick2 != - 1) btns[iclick2].Text = ""; iclick2 =index; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = "2"; } } private voidbtns_MouseHover(objectsender,EventArgse) { Buttonbtn =(Button)sender; intindex = int.Parse(btn.Name); if(index ==iclick1) return; //4个角可能按出1 if(index == 0 ||index == 3 ||index == 12 ||index == 15) { btn.BackColor =Color.Gray; btn.ForeColor =Color.White; btn.Text = "1"; } //4个角旁边可能按出2 if(index == 1 ||index == 4) { if(iclick1 != 0) return; btn.BackColor =Color.Gray; btn.ForeColor =Color.White; btn.Text = "2"; } if(index == 2 ||index == 7) { if(iclick1 != 3) return; btn.BackColor =Color.Gray; btn.ForeColor =Color.White; btn.Text = "2"; } if(index == 8 ||index == 13) { if(iclick1 != 12) return; btn.BackColor =Color.Gray; btn.ForeColor =Color.White; btn.Text = "2"; } if(index == 11 ||index == 14) { if(iclick1 != 15) return; btn.BackColor =Color.Gray; btn.ForeColor =Color.White; btn.Text = "2"; } } private voidbtns_MouseLeave(objectsender,EventArgse) { Buttonbtn =(Button)sender; intindex = int.Parse(btn.Name); if(index ==iclick1 ||index ==iclick2) return; btn.BackColor =Color.Empty; btn.ForeColor =Color.Black; btn.Text = ""; } } } 代码下载地址: http://files.cnblogs.com/files/jsxyhelu/%E5%8A%A8%E6%80%81%E5%88%9B%E5%BB%BA.zip 目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册