精华内容
下载资源
问答
  • 于是就想怎么搞一个能获取相对于窗口的坐标,然后通过窗口自身坐标位置的X和Y值,进行动态计算,这样应该更加精准一些。 但是每次都要算相对位置坐标,比较麻烦,于是找了这个小工具,还是蛮好用的,可以直接根据...
    最近在搞外挂的事情,刚开始是通过确定绝对坐标来确定位置的,但后来发现,客服经常会移动窗体, 于是就想怎么搞一个能获取相对于窗口的坐标,然后通过窗口自身坐标位置的X和Y值,进行动态计算,这样应该更加精准一些。 但是每次都要算相对位置坐标,比较麻烦,于是找了这个小工具,还是蛮好用的,可以直接根据窗口获取窗口相对位置的坐标。 废话少说,工具地址:点我 如果点击没有反应,也可直接复制该下载地址:http://pan.baidu.com/share/link?shareid=594628&uk=1662765070,进行下载。 希望对你有所帮助。

    转载于:https://www.cnblogs.com/woaic/archive/2013/05/28/3943289.html

    展开全文
  • 作为一只从业五年多(前端)的小仙女,近来很多入坑的前端萌新私信我说学习到的知识不知道怎么运用,每次做案例不看答案就写不出来,为此很是苦恼,不知道怎么去提升思路,对未来学习发展充满了迷茫。如果你现在也是...
    2db0d81a1b3089a9bfda47de5cb0d98d.png

    嗨喽大家好,我是乌拉拉ヾ(✿゚▽゚)ノ!作为一只从业五年多(前端)的小仙女,近来很多入坑的前端萌新私信我说学习到的知识不知道怎么运用,每次做案例不看答案就写不出来,为此很是苦恼,不知道怎么去提升思路,对未来学习发展充满了迷茫。如果你现在也是这种状态那你可一定要小心了,后面我说的话很关键哦!

    其实这种情况对于 0基础自学前端的萌新来说很常见了,一方面是因为案例并不符合自身水平,另一方面就是没有去分析功能实现思路,乌拉拉当年也有过这样的情况呢!从小到大学校学习都是有同学老师一起陪伴着,有不懂的问题身边都有能帮助的人在,总有一个指路人在那里告诉你学什么、怎样学等等,可惜的是当年没有好好珍惜在学校努力学习的时光,上了大学就开始玩乐,以至于最后毕业了面临求职才发现巨大的落差,不得不从头开始,现在回首往事也是感慨颇多。

    如果你跟曾经的我一样那么希望乌拉拉说的这些能让你明白不要走我当年的老路,扎扎实实学技术才是要紧事哦,如果有哪里不理解的或者需要学习教程等都可以加我微信webwula私聊!(在文章底部)

    好啦,话不多说,今天就专门给大家准备了一个特效的案例思路剖析,你可不要因为是特效就有抵触情绪哦,因为我听过太多人说工作中不写特效所以学习它没有任何作用这一类的话,但工作中不用你就不用学习嘛?哪天boss需要你写个但市面有没有合适的特效插件你难道要告诉boss“不好意思,没有合适的特效插件,我做不出来”吗?那结果不用我说吧!需得知道,没有没用的技术,只有不会利用技术提升自己的人,百度能解决的问题都不叫问题好嘛︿( ̄︶ ̄)︿。

    特效意为特殊效果,当下已经是炫酷好看效果的代名词,很多人会使用它来装饰自己的项目产品或者用来向女友表白小浪漫一把,但学习它的目的是为了帮助自己拓展思路提升自己的,先给大家看一下效果动图:❥(ゝω・✿ฺ)点击观看

    01389367997a80348793c376334ece59.gif

    ​看了效果后,你是不是会喊“oh no !没思路!”,或者有点大概的思路但是抓不住,那今天就教你一招,遇到问题第一步就是拆分,把一个难解决的大问题拆分成多个小问题,再一个个去解决那些小问题,如果拆分后的小问题还解决不了, 那就再拆分,直到拆分成你能解决的一个个小问题,最终大问题也就解决了!关键就在于如何拆分?

    刚学不久的萌新可以从使用的角度去观察每个步骤,根据步骤来进行拆分。

    首先,这是一个鼠标按下后 移动拖拽生成的一张图片,图片大小由鼠标移动的范围决定,图片盒子展示的不是全部图片内容,而是部分的图片区域,从这个功能展现就可以分析出下面几点:

    1、鼠标按下。在哪按下?在页面中按下,也就是说可能是设置了window或者document的onmousedown事件监听的鼠标按下行为。(这里就以window的来,至于window和document的区别不知道的小可爱百度查一下)那么与鼠标按下行为一同变化的是什么呢?仔细看你能发现整个效果里 鼠标按下-->拖拽 的过程会有一张图片出现,这个图片盒子在什么时候出现?

    第一、鼠标拖拽改变的是图片的大小,意味着图片在拖拽之前就已经存在了。

    第二:效果是以鼠标点击才开始展示,我们的鼠标在哪里按下图片的初始坐标就在哪里,也就是需要从事件对象中获取到鼠标坐标。这两点就足够说明是先有的鼠标按下,再生成的图片,并获取鼠标按下的坐标 设置为 图片的初始坐标。

    并且想要给图片设置任意坐标就得设置定位属性了,加上图片大小变化时展示的是部分区域不是完整的图片,需要使用背景图片来做。✧(≖ ◡ ≖✿

    下面是我准备的图片素材和html文件夹位置的截图:

    150f95b6b510cddf62a6e3357fee0e27.png
    c674953a4ded15c19b160c90aff1b4a1.png

    代码:

    5ce31583f8f9ceb294f47dc08f5b1dbd.png

    2、鼠标拖拽。在页面中,鼠标按下后不松开 再 移动鼠标实现拖拽,那你看到这里就得思考下有什么方法能实现,对,就是document的onmousemove事件监听鼠标移动。同时,看起来与鼠标移动一同变化的还有div(图片盒子)的大小,但这里要注意难点来了!实际上一同变化的不仅是大小,还有div的坐标位置。贴两张动图对比下:

    鼠标向右下移动示例动图:点击观看

    69eafaa5ccef2480610e37253ecb2a22.gif

    在鼠标向右做拖拽时,div的坐标位置是没有改动的(网页中的元素坐标都以左上角为原点),只是随着鼠标移动改变了大小,求出 div的大小 = 鼠标移动的坐标 - 鼠标按下的坐标,div的坐标位置 = 鼠标按下的坐标,但还有一种情况,如下图所示:

    鼠标向左上移动示例动图:点击观看

    d782c66ff3044bd1479fdc397f5f281d.gif

    在鼠标向左上做拖拽时,div的坐标位置被改动了(网页中的元素坐标都以左上角为原点),并且随着鼠标移动也改变了大小,也就是当前反向拖拽的情况下(注意看动图里的红圈)。

    求出 div的大小 = 鼠标按下的坐标 - 鼠标移动的坐标,也就是减数位置颠倒,可以使用绝对值来处理。 而 div的坐标位置 = 鼠标移动的坐标,通过观看可以看到,不论是 鼠标按下的坐标 还是 鼠标移动坐标 最终能成为div的坐标值的只有两者中最小的那一个数值,所以这里使用Math.min()来比较最小数,代码如下:

    b2772e6b3406d577a08889dc72ec8630.png

    3、随机背景图片。准备的图片素材如下:

    图片名字都是从0到6递增的整数字,拖拽时显示的随机背景图片有多种方式可以实现,这里我们就利用Math.random()来实现,将之前写的设置背景图片的代码修改下:

    0c34f57c29201dee482c0e4adb9c6ff7.png

    4、鼠标抬起。鼠标抬起事件是onmouseup,整体的功能流程是 鼠标按下----> 鼠标移动拖拽 ----> 鼠标抬起,我们的拖拽事件在注册后会一直监听触发,但实际需要的是在 鼠标抬起 后要停止鼠标移动事件的执行,也就需要在鼠标抬起时 注销鼠标移动事件,设置onmousemove值 为null 就行。(๑> <)☆

    e7f1742a6187bd6c3cbdf04dd7a0226c.png

    到这里整体的案例效果就实现了,你看,是不是有老师教你如何分析思路后 实现起来就很简单了呢!ヾ(o・ω・)ノ类似这样的案例分析老师也不只准备这一个,我也在我的小程序里上新了很多帮助大家提升技术能力的视频教程,如果你想跟我学习,想要这些视频教程或者其他项目案例源码来帮助自己提升技术能力,欢迎加我微信webwula 和我讨论学习问题哦!(^_−)☆

    展开全文
  • 有时候,我们对Revit本身自带的命令显示的图标产生了兴趣,要怎么才能获取到这些图片呢。直接在安装目录下找好像并没有找到。那就只能换个思路了... 思路:反编译Revit图标资源类库UIFrameworkRes.dll,获取Revit...

    有时候,我们对Revit本身自带的命令显示的图标产生了兴趣,要怎么才能获取到这些图片呢。直接在安装目录下找好像并没有找到。那就只能换个思路了...

    思路:反编译Revit图标资源类库UIFrameworkRes.dll,获取Revit自身命令的图标资源流,保存到本地。

    1、首先找到UIFrameworkRes.dll所在的位置,这个文件在Revit的安装目录下。

    2、调用Revit生成图标的方法。在D:\Ribbons会生成Revit所有自身命令的图标。方法具体实现在下文

    GenerateRevitIcons(@"D:\Ribbons", @"D:\LightRevit\RevitDlls");

     

    生成revit图标的方法

    
    public static void GenerateRevitIcons(string targetFolder,string revitFolder)
            {
                var resourceDll = Path.Combine(revitFolder, "UIFrameworkRes.dll");
                var resource = Assembly.LoadFile(resourceDll);
                var info = resource.GetManifestResourceStream("UIFrameworkRes.g.resources");
                ResourceReader resourceReader = new ResourceReader(info);
                var directory = targetFolder;
                if (!Directory.Exists(directory))
                {
                    Directory.CreateDirectory(directory);
                }
                foreach (DictionaryEntry en in resourceReader)
                {
                    var name = en.Key.ToString();
                    if (name.StartsWith(@"ribbon/images"))
                    {
                        var tempFileName = Path.GetFileName(name);
                        var path = Path.Combine(directory, tempFileName);
                        Stream stream = en.Value as Stream;
                        if (stream == null)
                        {
                            continue;
                        }
                        var bytes = new Byte[stream.Length];
                        stream.Read(bytes, 0, bytes.Length);
                        File.WriteAllBytes(path, bytes);
                    }
                }
    
            }

    结束:当然这些代码没什么难度。唯一的所得就是给二次开发的同学打开了一种思路,不要被RevitApi,RevitUIApi这两个类库束缚。

    如果只需要命令图标的话,可以关注公众号:小红楼BIM,发送资料编码:da100896, 获取资料下载链接。

    公众号二维码:

     

     

    展开全文
  • 服装销售工作计划怎么写例文 一、服装的陈列 在卖场除了店铺的设计和橱窗的造型外,需要在服装的陈列上表新立异,以求强烈的视觉冲击力,营造成一种商业空间的销售环境,以浓重的设计烘托自身的卖场氛围,以独特的...
  • 初步解析View的滑动

    2018-11-15 20:10:31
    getTop():获取自身顶部到父布局顶部的距离 getLeft():获取View自身左边到父布局左边的距离 getRight():获取View自身到父布局左边的距离 getBottom():获取View自身到父布局顶部的距离 2.确定点击...

    View的滑动方式有很多,在学习View的滑动之前,我们先了解下View是怎么定位的。

    View坐标系

    1.View自身坐标

    • getTop():获取自身顶部到父布局顶部的距离

    • getLeft():获取View自身左边到父布局左边的距离

    • getRight():获取View自身到父布局左边的距离

    • getBottom():获取View自身到父布局顶部的距离

    2.确定点击位置坐标
    当我们点击屏幕时,会触发点击事件。MotionEvent提供了几种方法获取点击坐标

    • getX():点击事件距离自身View左边的距离
    • getY():点击事件距离自身View顶边的距离
    • getRawX():点击事件距离整个屏幕左边的距离
    • getRawY():点击事件距离整个屏幕顶边的距离

    View的滑动

    view的滑动是当点击事件传递到View时,记下触摸点,当手指移动时,记录移动后的坐标并计算出偏移量,通过偏移量来改变View的坐标。
    1.layout()

    public boolean onTouchEvent(MotionEvent event){
    		int x = (int)event.getX();
    		int y = (int)event.getY();
    		switch(event.getAction()){
    			case MotionEvent.ACTION_DOWN:
       				 lastX = x;
       				 lastY = y;
       					 break;
       			case MotionEvent.ACTION_MOVE:
        			int offsetX = x - lastX;
        			int offsetY = y - lastY;
        			layout(getLeft() + offsetX, getTop() + offsetY, getRight() + offsetX, getBottom() + offsetY);
        				break;	 
    }
    }
    

    2.offsetLeftAndRight()与offsetTopAndBottom()
    将ACTION_MOVE中的layout方法替换就行

    case MotionEvent.ACTION_MOVE:
        int offsetX = x - lastX;
        int offsetY = y - lastY;
        offsetLeftAndRight(offsetX);
        offsetTopAndBottom(offsetY);
        break;
    

    3.LayoutParams
    通过改变LayoutParams来改变View 的布局参数,便改变了View的位置,同样替换ACTION_MOVE中的代码

    int offsetX = x - lastX;
        int offsetY = y - lastY;
        ViewGroup.MarginLayoutParams params = (ViewGroup.MarginLayoutParams) getLayoutParams();
        params.leftMargin = getLeft() + offsetX;
        params.topMargin = getTop() + offsetY;
        break;
    

    4.scrollTo和scrollBy
    scrollTo表示移动到具体的坐标点位置,scrollBy表示在原来View的基础上移动偏移量。需要注意的是,移动的偏移量要取反。因为这两个方法移动的是其内部的内容。

    case MotionEvent.ACTION_MOVE:
        int offsetX = x - lastX;
        int offsetY = y - lastY;
        ((View)getParent()).scrollBy(-offsetX,-offsetY);
        break;
    

    5.Scroller
    可以通过Scroller来实现View移动的连续性。Scroller需要与View的computeScroll()方法配合。

    scroller = new Scroller(context);
    

    重写computeScroll方法,系统在调用draw()方法时,会调用此方法。在该方法中,调用父类的scrollTo方法,通过Scroller获取当前滚动值,滑动一小段距离后,调用invalidate()方法进行重绘。

    @Override
    public void computeScroll() {
        super.computeScroll();
        if (scroller.computeScrollOffset()) {
            offsetLeftAndRight(scroller.getCurrX()-getLeft());
            offsetTopAndBottom(scroller.getCurrY()-getTop());
            invalidate();
        }
    }
    

    最后调用Scroller中的startScroll方法。

    scroller.startScroll(getLeft(),getTop(),-getLeft()+initX,-getTop()+initY,2000);
    
    展开全文
  • 在某一时刻,我自身位置就是x,从t=1开始到t=k,这段时间内我的所有位置对应为x1……xk,形成我的运动轨迹。 同时,我身上的传感器会在每一时刻测量到一些路标点y,获取它们的观测数据。 我需要用数学方式告诉你...
  • 软件过程管理在软件项目中的作用

    千次阅读 2015-01-29 22:17:09
    软件过程管理,可以帮助软件组织将过程资产进行有效的管理,使之可以被复用在实际的项目中,并结合从项目中获取的过程的实际应用结果来不断的改进过程。 这样软件组织将能够有能力改变自身的命运,将它从维系在...
  • 移动机器人轮式里程计

    千次阅读 2020-06-13 18:57:46
    定位问题可阐述为:移动机器人根据自身状态、传感器信息实时确定自己在世界(全局或局部)中的位置与姿态。 阿克曼转向的无人驾驶汽车的定位方案主要有:轮式里程计、视觉里程计、激光里程计、惯性导航模块(IMU+GPS...
  • 小弟最近项目用到了一个UIUtils的UI工具类,请问这个类是要自己进行添加的吗? 如果是的话,我找了几篇大神写... 这个xxxApplication是指我当前应用的名字吗,应该怎么知道,我已经把握觉得可能的名字打进去了都报红
  • 返回项的起始位置和结束位置 - splice 可以传入N个参数,第一个参数表示要删除,插入或则替换的位置,第二个参数表示要删除的项数,第三个到第N个表示要插入或则替换的数据 <p><strong>Date...
  • 这个程序里我们实现了两类窗口打开的方式,一个是自身消失而 后打开另一个窗口,一个是打开另一个窗口而自身不消失。可以看到他们实现的 方法是不同的。 三、Qt Creator 登录对话框(原创) 实现功能: 在弹出对话框...
  • 调用umeyama后获取变换所需的矩阵,最后将原图和所求得矩阵放进warpAffine即可获的新图片。 注意: 代码详见 lib/umeyama.py ,不做解释。 umeyama实现来自开源scikit-image/skimage/transform/_geometric.py 3.3 ...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • 本书以其翔实知识面的覆盖、大量实用的示例和作者自身丰富的编程经验,阐述了从C语言编程基础、C++面向对象语法、MFC类库、控件及高级应用、进程和线程到异常处理等各个方面的诀窍,是一本系统而全面的编程经典图书...
  • Windows知道怎么画你的菜单以及你的标注着“Hello, Cfan!”的按钮。当CFan某个快乐的小编(譬如:小飞)点击这个按钮的时候,Windows也明白按钮按下去的时候该有的模样,甚至,当这个友好的按钮获取焦点时,Windows也...
  • 从可用的内存中获取一部分内存。 向可用内存池(pool)中返回部分内存,以使其可以由程序的其他部分或者其他程序使用。 实现这些需求的程序库称为分配程序(allocators),因为它们负责分配和回收内存。程序的...
  • ExtAspNet_v2.3.2_dll

    2010-09-29 14:37:08
    -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=...
  • 操作系统(内存管理)

    热门讨论 2009-09-20 12:55:25
    从可用的内存中获取一部分内存。 向可用内存池(pool)中返回部分内存,以使其可以由程序的其他部分或者其他程序使用。 实现这些需求的程序库称为 分配程序(allocators),因为它们负责分配和回收内存。程序的...
  • mysql已成为互联网项目存储的主力,围绕着它的各外围模块急需实时地获取它的数据,binlog监听是解决此实时同步问题的不二之选。duckula就是为了满足此需求而设计与开发出来的中间件。 (二)duckula3简介   ...
  • 但是Element是描述固定在渲染书中的某一个特定位置的点。简单点说widget作为一种描述是可以复用的,但是element却跟需要绘制的节点一一对应。那element是最终渲染的view么?抱歉,还不是。element...
  • 他们让 redux 自身保持简洁以便适配各种场景,让社区发展出各种 <code>redux-*</code> 中间件或者插件,从而形成它自己的生态系统。 <p>redux 的核心很简洁。这篇文章将专注于解读 redux 核心的设计思路...
  • 经过跟踪变量值发现循环变量i的阀值pSysHead->dbf_count的数值为0xFFFFFFFF,该值是从被破坏的内存数据库中获取的,正常情况下该值小于127。而pDBFat是数据库的起始地址,如果pSysHead->dbf_count值异常过大,将...
  • -修正了在Grid的PageIndexChange事件中不能获取SelectedRowIndexArray属性的BUG(feedback:Violet)。 -Button控件将不再自动拥有display:inline属性,如果希望两个按钮在一行显示,请为第一个按钮设置CssStyle=...
  • 获取足够多的问题领域的知识,需求抽取的方法一般有问卷法、面谈法、数据采集法、用例法、情景实例法以及基于目标的方法等;还有知识工程方法,例如,场记分析法、卡片分类法、分类表格技术和基于模型的知识获取等 ...
  • 在一小时内学会 C#(txt版本)

    热门讨论 2009-08-19 18:09:37
    位置:英国 简介 C# 是一种具有 C++ 特性,Java 样式及 BASIC 快速建模特性的编程语言。如果你已经知晓 C++ 语言,本文将在不到一小时的时间内带你快速浏览 C# 的语法。如果熟悉 Java 语言,Java 的编程结构、打包...
  • 新版Android开发教程.rar

    千次下载 热门讨论 2010-12-14 15:49:11
    Google 自身通过基于统一平台为用户提供信息来盈利。 Android Android Android Android 的优势 � 源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发 出 更具差异性的应用...
  • C#微软培训教材(高清PDF)

    千次下载 热门讨论 2009-07-30 08:51:17
    C#--微软.NET的第一语言 本书着重介绍语言本身,比较少涉及应用,不错的入门书,从头讲起,不怕不明白。 <<page 1>> page begin==================== 目 目目 目 录 ... 比尔.... 2000 年 6 月 ...

空空如也

空空如也

1 2
收藏数 31
精华内容 12
关键字:

怎么获取自身位置