首页 [ 控件应用 ] 简单取色板源码
一键分享

简单取色板源码

  • 免费

2012-07-19 10:47:16

  • 源码类型: C/S
  • 开发环境: VS2010 + 无数据库
  • 开发语言: C#
  • 标签: 自定义控件 取色
  • 评分:
收藏 100 次|关注 1956 次|下载 145 次

免费


交付物: 源码包
    商家已实名认证
  • 分享者:wwb24***
  • 访问次数:   30526 次
  • 源码数量:   118 套
  • 通过比率:   34%
  • 活跃于:   三个月前
  • QQ:   562****
  • TEL:   13*******94
  • 最新IP属地:北京市
  • 微信扫码咨询
.net

源码介绍

源码参数

  • 源码类别:【控件应用】
  • 源码类型:C/S
  • 适合人群: 进阶
  • 授权类型:免费版
  • 开发语言:C#
  • 数据库:无数据库
  • 源码大小:132KB
  • 相关网址: 【免费浏览】
  • 源码指数:
  • 完整度:
  • 取色板
  • 大小设置
  • 取色板
  • 大小设置
  • Aspx.Query.CodeImageQueryModel
  • Aspx.Query.CodeImageQueryModel

简单取色板源码

功能介绍:
    取色,取到的颜色可以通过ColorChanged事件参数e.Color获得,还可以在控件里把current变量公开出来
实现过程:
    控件由很多色块组成。目前固定尺寸6x36,你可以自己修改尺寸。
    控件分层是这样的(从最底层到最上层):
    1.控件绘图面2.色块3.网格4.边框5.光标
    在Paint事件中按上面顺序绘制2-5。
    绘制网格很简单,根据色块大小隔一定距离画一道横(竖)线
    绘制色块道理差不多,先获取当前坐标(行,列)的颜色(根据你自己定义的调色盘计算出来),然后填充一个方块,转到处理下一个坐标,直到全部行列都处理完。
    然后绘制所有色块
    从表面上看,是通过鼠标移动,选取每个色块获得颜色。其实不然。那样做,我就需要保存每个色块的颜色信息,白白浪费空间。我的实现方法是通过鼠标位置得知当前鼠标所在色块的坐标(行,列),然后用上面的颜色算法直接得到该色块的颜色,一句话搞定(Point pt是鼠标位置)。
    标移动时会绘制光标,为了减少性能开销,不能直接Refresh()/Invalidate()控件,使用Invalidate(Rectangle)来重绘被鼠标弄脏的那个区域。所以用了两个小矩形保存旧光标和新光标的区域,然后在鼠标事件中更新(和鼠标取色一起)。
    然后鼠标移动事件里重绘时稍微把区域扩大点(避免留下难看的边框)。
    最后一行「OnColorChanged();是用来引发颜色改变事件。把事件写出来基本就完成了。
    然后再完善下属性之类的,就可以在你的程序里使用了。

    程序简单适合新手学习使用。   
注意:
   开发环境为Visual Studio 2010

责任编辑:王文彬

下载记录(Only Recent 100)

用户名 推荐指数 下载时间

源码评论

单击更换

评论列表

全部评论
  • 暂无评论 …

最近更新

      下载排行