搜索
查看: 591|回复: 0

取色器(win.ui.ctrl.pick)在屏幕取色时的放大镜效果改进

[复制链接]

4

主题

63

帖子

485

积分

二级会员

Rank: 3Rank: 3

积分
485
发表于 2018-8-11 16:05:49 | 显示全部楼层 |阅读模式
本帖最后由 我心飞翔1995 于 2018-8-11 16:07 编辑
aardio v19.21 更新  (2018/8/10):
---------------------------------------------------------------------------
1、取色器在屏幕取色时增加放大镜效果。


以上是官方的更新日志。

        原版本更新放大镜效果之后,自己测试不太满意,改放大效果会在放大镜触及屏幕边缘后,跑到屏幕外,故自行改进了一下,属于小修改,定位考虑到放大镜的大小,没有采用数值,而是加上了属性值,如果你觉得放大镜太大或者太小,可以通过窗口设计器自行调节 plusMagnifying 的宽度和高度(建议宽高比为1:1)
        考虑到部分和我一样懒的伸手党,除了提供可以修改原版库的代码之外,还提供已经修改的完整库,放到官方程序目录即可,不会发生冲突,可以避免更新导致无法使用的问题。

  1. //在原代码100行处增加,并删除原来的 this.plusMagnifying.setPos(x+16,y+16); 即可
  2. //代码改动处
  3. var dpi_x,dpi_y = ..win.getScreen();
  4. if(((x+8) <= ( dpi_x - this.plusMagnifying.width - 8)) && ((y+8) <= (dpi_y - this.plusMagnifying.height - 8))){
  5.         //放大区域在鼠标右下角
  6.         this.plusMagnifying.setPos(x+16,y+16);       
  7. }elseif(((x+8) <= ( dpi_x - this.plusMagnifying.width - 8)) && ((y+8) > (dpi_y - this.plusMagnifying.height - 8))){
  8.         //放大区域在鼠标右上角
  9.         this.plusMagnifying.setPos(x+16,y-this.plusMagnifying.height);
  10. }elseif(((x+8) > ( dpi_x - this.plusMagnifying.width - 8)) && ((y+8) <= (dpi_y - this.plusMagnifying.height - 8))){
  11.         //放大区域在鼠标左下角
  12.         this.plusMagnifying.setPos(x-this.plusMagnifying.width,y+16);
  13. }elseif(((x+8) > ( dpi_x - this.plusMagnifying.width - 8)) && ((y+8) > (dpi_y - this.plusMagnifying.height - 8))){
  14.         //放大区域在鼠标左上角
  15.         this.plusMagnifying.setPos(x-this.plusMagnifying.width,y-this.plusMagnifying.height);
  16. }
  17. //代码改动处
复制代码



这是修改过的库,直接放入即可,控件名pick2:
lib.7z (6.53 KB, 下载次数: 3)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

手机版|未经许可严禁引用或转载本站文章|站长邮箱|aardio.com|aardio官方社区 ( 皖ICP备09012014号 )

GMT+8, 2018-12-19 00:15 , Processed in 0.062500 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表