当前位置:  编程技术>综合
本页文章导读:
    ▪iOS 已经 实现 单指 旋转 缩放 位移 等操作,Transform的应用       经过了3天的时间努力,终于把这个demo做好了。 目前可以实现蓝色区域内的缩放,位移,旋转,取消编辑状态等操作。 已经写成了一个UIVIew,可以任意添加到Controller中使用(需继承ARC) http:.........
    ▪nginx日志切割和记录cookie      #!/bin/bash #日志文件存放目录 logs_path="/data/Service/nginx/logs" # 日志文件的名字,多个需要空格隔开 logs_names=(dm_access) mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yeste.........
    ▪C#版本Windows消息定义      C#版本Windows消息定义,花时间整理的,需要的人拿去用。 public static class NativeConst { public const int WM_CREATE = 0x0001; public const int WM_DESTROY = 0x0002; p.........

[1]iOS 已经 实现 单指 旋转 缩放 位移 等操作,Transform的应用
    来源: 互联网  发布时间: 2013-11-05

经过了3天的时间努力,终于把这个demo做好了。

目前可以实现蓝色区域内的缩放,位移,旋转,取消编辑状态等操作。

已经写成了一个UIVIew,可以任意添加到Controller中使用(需继承ARC)

http://blog.csdn.net/a21064346/article/details/8468056

转载请说明出处:点击打开链接

目前正在做 内部区域的字体的实现,可能还要添加一个右下角和左下角的Button。这样,就能和美图秀秀的效果一样,而且,比它的更精确,不会出现单击发生偏移等错误效果。


效果更加精确。


其中用到的 核心技术是:Transform,通过仿射矩阵的计算,得到新的位移,新的scale,新的坐标

然后直接计算 Transform即可。将得到的Transform赋 给你的UIView的Transform属性即可。而且得到新Transform的同时View会自动的生成动画,这样,你也动画入门了:)


Transform不仅可以制作2D,3D的动画也可以完好的实现。大家一起摸索吧:)


作者:a21064346 发表于2013-1-5 11:46:11 原文链接
阅读:8 评论:0 查看评论

    
[2]nginx日志切割和记录cookie
    来源: 互联网  发布时间: 2013-11-05
#!/bin/bash
#日志文件存放目录
logs_path="/data/Service/nginx/logs"

# 日志文件的名字,多个需要空格隔开
logs_names=(dm_access)
mkdir -p ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/
num=${#logs_names[@]}

for((i=0;i<num;i++))
do	
    #chown 和 chmod需要用到也要对当前用户给权限,因为80端口下nginx需要sudo启动,产生的文件所有者是root 
    #chown ppstat:users ${logs_path}/${logs_names[i]}.log 
    #chmod 755 ${logs_path}/${logs_names[i]}.log
    mv -f ${logs_path}/${logs_names[i]}.log \
    ${logs_path}/$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/${logs_names[i]}_$(date -d "yesterday" +"%Y-%m-%d").log
done

#让nginx重新打开日志文件,在/etc/sudoer中对当前用户添加kill权限
sudo kill -USR1 `cat $logs_path/nginx.pid`


记录整个请求的cookie

#设置log中显示所有cookie
        set $dm_cookie "";
        if ($http_cookie ~* "(.+)(?:;|$)") {
            set $dm_cookie $1;
        }
        log_format  srvmain  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                     '"$http_user_agent" "$http_x_forwarded_for" "$dm_cookie"  $request_time';


作者:chlaws 发表于2013-1-5 11:45:18 原文链接
阅读:0 评论:0 查看评论

    
[3]C#版本Windows消息定义
    来源: 互联网  发布时间: 2013-11-05
C#版本Windows消息定义,花时间整理的,需要的人拿去用。

    public static class NativeConst
    {
        public const int WM_CREATE                  = 0x0001;
        public const int WM_DESTROY                 = 0x0002;
        public const int WM_MOVE                    = 0x0003; 
        public const int WM_SIZE                    = 0x0005;
        public const int WM_ACTIVATE                = 0x0006;
        public const int WM_SETFOCUS                = 0x0007;
        public const int WM_KILLFOCUS               = 0x0008;
        public const int WM_ENABLE                  = 0x000A;
        public const int WM_SETREDRAW               = 0x000B;
        public const int WM_SETTEXT                 = 0x000C;
        public const int WM_GETTEXT                 = 0x000D;
        public const int WM_GETTEXTLENGTH           = 0x000E;
        public const int WM_PAINT                   = 0x000F;
        public const int WM_CLOSE                   = 0x0010;
        public const int WM_QUERYENDSESSION         = 0x0011;
        public const int WM_QUIT                    = 0x0012;
        public const int WM_QUERYOPEN               = 0x0013;
        public const int WM_ERASEBKGND              = 0x0014;
        public const int WM_SYSCOLORCHANGE          = 0x0015;
        public const int WM_ENDSESSION              = 0x0016;
        public const int WM_SHOWWINDOW              = 0x0018;
        public const int WM_ACTIVATEAPP             = 0x001C;
        public const int WM_FONTCHANGE              = 0x001D;
        public const int WM_TIMECHANGE              = 0x001E;
        public const int WM_CANCELMODE              = 0x001F;
        public const int WM_SETCURSOR               = 0x0020;
        public const int WM_MOUSEACTIVATE           = 0x0021;
        public const int WM_CHILDACTIVATE           = 0x0022;
        public const int WM_QUEUESYNC               = 0x0023;
        public const int WM_GETMINMAXINFO           = 0x0024;
        public const int WM_PAINTICON               = 0x0026;
        public const int WM_ICONERASEBKGND          = 0x0027;
        public const int WM_NEXTDLGCTL              = 0x0028;
        public const int WM_SPOOLERSTATUS           = 0x002A;
        public const int WM_DRAWITEM                = 0x002B;
        public const int WM_MEASUREITEM             = 0x002C;
        public const int WM_VKEYTOITEM              = 0x002E;
        public const int WM_CHARTOITEM              = 0x002F;
        public const int WM_SETFONT                 = 0x0030;
        public const int WM_GETFONT                 = 0x0031;
        public const int WM_SETHOTKEY               = 0x0032;
        public const int WM_GETHOTKEY               = 0x0033;
        public const int WM_QUERYDRAGICON           = 0x0037;
        public const int WM_COMPAREITEM             = 0x0039;
        public const int WM_COMPACTING              = 0x0041;
        public const int WM_WINDOWPOSCHANGING       = 0x0046;
        public const int WM_WINDOWPOSCHANGED        = 0x0047;
        public const int WM_POWER                   = 0x0048;
        public const int WM_COPYDATA                = 0x004A;
        public const int WM_CANCELJOURNA            = 0x004B;
        public const int WM_NOTIFY                  = 0x004E;
        public const int WM_INPUTLANGCHANGEREQUEST  = 0x0050;
        public const int WM_INPUTLANGCHANGE         = 0x0051;
        public const int WM_TCARD                   = 0x0052;
        public const int WM_HELP                    = 0x0053;
        public const int WM_USERCHANGED             = 0x0054;
        public const int WM_NOTIFYFORMAT            = 0x0055;
        public const int WM_CONTEXTMENU             = 0x007B;
        public const int WM_STYLECHANGING           = 0x007C;
        public const int WM_STYLECHANGED            = 0x007D;
        public const int WM_DISPLAYCHANGE           = 0x007E;
        public const int WM_GETICON                 = 0x007F;
        public const int WM_SETICON                 = 0x0080;
        public const int WM_NCCREATE                = 0x0081;
        public const int WM_NCDESTROY               = 0x0082;
        public const int WM_NCCALCSIZE              = 0x0083;
        public const int WM_NCHITTEST               = 0x0084;
        public const int WM_NCPAINT                 = 0x0085;
        public const int WM_NCACTIVATE              = 0x0086;
        public const int WM_GETDLGCODE              = 0x0087;
        public const int WM_NCMOUSEMOVE             = 0x00A0;
        public const int WM_NCLBUTTONDOWN           = 0x00A1;
        public const int WM_NCLBUTTONUP             = 0x00A2;
        public const int WM_NCLBUTTONDBLCLK         = 0x00A3;
        public const int WM_NCRBUTTONDOWN           = 0x00A4;
      public const int WM_NCRBUTTONUP             = 0x00A5;
      public const int WM_NCRBUTTONDBLCLK         = 0x00A6;
      public const int WM_NCMBUTTONDOWN           = 0x00A7;
      public const int WM_NCMBUTTONUP             = 0x00A8;
        public const int WM_NCMBUTTONDBLCLK         = 0x00A9;
        public const int WM_KEYFIRST                = 0x0100;
        public const int WM_KEYUP                   = 0x0101;
        public const int WM_CHAR                    = 0x0102;
        public const int WM_DEADCHAR                = 0x0103;
        public const int WM_SYSKEYDOWN              = 0x0104;
        public const int WM_SYSKEYUP                = 0x0105;
        public const int WM_SYSCHAR                 = 0x0106;
        public const int WM_SYSDEADCHAR             = 0x0107;
        public const int WM_INITDIALOG              = 0x0110;
        public const int WM_COMMAND                 = 0x0111;
        public const int WM_SYSCOMMAND              = 0x0112;
        public const int WM_TIMER                   = 0x0113;
        public const int WM_HSCROLL                 = 0x0114;
        public const int WM_VSCROLL                 = 0x0115;
        public const int WM_INITMENU                = 0x0116;
        public const int WM_INITMENUPOPUP           = 0x0117;
        public const int WM_MENUSELECT              = 0x011F;
        public const int WM_MENUCHAR                = 0x0120;
        public const int WM_ENTERIDLE               = 0x0121;
        public const int WM_CTLCOLORMSGBOX          = 0x0132;
        public const int WM_CTLCOLOREDIT            = 0x0133;
        public const int WM_CTLCOLORLISTBOX         = 0x0134;
        public const int WM_CTLCOLORBTN             = 0x0135;
        public const int WM_CTLCOLORDLG             = 0x0136;
        public const int WM_CTLCOLORSCROLLBAR       = 0x0137;
        public const int WM_CTLCOLORSTATIC          = 0x0138;
        public const int WM_SHARED_MENU             = 0x01E2;
        public const int WM_MOUSEFIRST              = 0x0200;
        public const int WM_MOUSEMOVE               = 0x0200;
        public const int WM_LBUTTONDOWN             = 0x0201;
        public const int WM_LBUTTONUP               = 0x0202;
        public const int WM_LBUTTONDBLCLK           = 0x0203;
        public const int WM_RBUTTONDOWN             = 0x0204;
        public const int WM_RBUTTONUP               = 0x0205;
        public const int WM_RBUTTONDBLCLK           = 0x0206;
        public const int WM_MBUTTONDOWN             = 0x0207;
        public const int WM_MBUTTONUP               = 0x0208;
        public const int WM_MBUTTONDBLCLK           = 0x0209;
        public const int WM_MOUSEWHEEL              = 0x020A;
        public const int WM_PRINT                   = 0x0317;

        public const int HC_ACTION                  = 0;
        public const int WH_CALLWNDPROC             = 4;
        public const int GWL_WNDPROC                = -4;

        public const int GW_HWNDFIRST               = 0;
        public const int GW_HWNDLAST                = 1;
        public const int GW_HWNDNEXT                = 2;
        public const int GW_HWNDPREV                = 3;
        public const int GW_OWNER                   = 4;
        public const int GW_CHILD                   = 5;

        public const int SC_RESTORE                 = 0xF120; //还原  
        public const int SC_MOVE                    = 0xF010; //移动  
        public const int SC_SIZE                    = 0xF000; //大小  
        public const int SC_MINIMIZE                = 0xF020; //最小化  
        public const int SC_MAXIMIZE                = 0xF030; //最大化  
        public const int SC_CLOSE                   = 0xF060; //关闭 

        //WM_NCHITTEST消息处理返回值
        public const int HTERROR                    = -2;
        public const int HTTRANSPARENT              = -1;
        public const int HTNOWHERE                  = 0;
        public const int HTCLIENT                   = 1;
        public const int HTCAPTION                  = 2;
        public const int HTSYSMENU                  = 3;
        public const int HTGROWBOX                  = 4;
        public const int HTSIZE                     = HTGROWBOX;
        public const int HTMENU                     = 5;
        public const int HTHSCROLL                  = 6;
        public const int HTVSCROLL                  = 7;
        public const int HTMINBUTTON                = 8;
        public const int HTMAXBUTTON                = 9;
        public const int HTLEFT                     = 10;
        public const int HTRIGHT                    = 11;
        public const int HTTOP                      = 12;
        public const int HTTOPLEFT                  = 13;
        public const int HTTOPRIGHT                 = 14;
        public const int HTBOTTOM                   = 15;
        public const int HTBOTTOMLEFT               = 16;
        public const int HTBOTTOMRIGHT              = 17;
        public const int HTBORDER                   = 18;
        public const int HTREDUCE                   = HTMINBUTTON;
        public const int HTZOOM      
    
最新技术文章:
▪error while loading shared libraries的解決方法    ▪版本控制的极佳实践    ▪安装多个jdk,多个tomcat版本的冲突问题
▪简单选择排序算法    ▪国外 Android资源大集合 和个人学习android收藏    ▪.NET MVC 给loading数据加 ajax 等待loading效果
▪http代理工作原理(3)    ▪关注细节-TWaver Android    ▪Spring怎样把Bean实例暴露出来?
▪java写入excel2007的操作    ▪http代理工作原理(1)    ▪浅谈三层架构
▪http代理工作原理(2)    ▪解析三层架构……如何分层?    ▪linux PS命令
▪secureMRT Linux命令汉字出现乱码    ▪把C++类成员方法直接作为线程回调函数    ▪weak-and算法原理演示(wand)
▪53个要点提高PHP编程效率    ▪linux僵尸进程    ▪java 序列化到mysql数据库中
▪利用ndk编译ffmpeg    ▪活用CSS巧妙解决超长文本内容显示问题    ▪通过DBMS_RANDOM得到随机
▪CodeSmith 使用教程(8): CodeTemplate对象    ▪android4.0 进程回收机制    ▪仿天猫首页-产品分类
▪从Samples中入门IOS开发(四)------ 基于socket的...    ▪工作趣事 之 重装服务器后的网站不能正常访...    ▪java序列化学习笔记
▪Office 2010下VBA Addressof的应用    ▪一起来学ASP.NET Ajax(二)之初识ASP.NET Ajax    ▪更改CentOS yum 源为163的源
▪ORACLE 常用表达式    ▪记录一下,AS3反射功能的实现方法    ▪u盘文件系统问题
▪java设计模式-观察者模式初探    ▪MANIFEST.MF格式总结    ▪Android 4.2 Wifi Display核心分析 (一)
▪Perl 正则表达式 记忆方法    ▪.NET MVC 给loading数据加 ajax 等待laoding效果    ▪java 类之访问权限
▪extjs在myeclipse提示    ▪xml不提示问题    ▪Android应用程序运行的性能设计
▪sharepoint 2010 自定义列表启用版本记录控制 如...    ▪解决UIScrollView截获touch事件的一个极其简单有...    ▪Chain of Responsibility -- 责任链模式
▪运行skyeye缺少libbfd-2.18.50.0.2.20071001.so问题    ▪sharepoint 2010 使用sharepoint脚本STSNavigate方法实...    ▪让javascript显原型!
▪kohana基本安装配置    ▪MVVM开发模式实例解析    ▪sharepoint 2010 设置pdf文件在浏览器中访问
▪spring+hibernate+事务    ▪MyEclipse中文乱码,编码格式设置,文件编码格...    ▪struts+spring+hibernate用jquery实现数据分页异步加...
▪windows平台c++开发"麻烦"总结    ▪Android Wifi几点    ▪Myeclipse中JDBC连接池的配置
▪优化后的冒泡排序算法    ▪elasticsearch RESTful搜索引擎-(java jest 使用[入门])...    ▪MyEclipse下安装SVN插件SubEclipse的方法
▪100个windows平台C++开发错误之七编程    ▪串口转以太网模块WIZ140SR/WIZ145SR 数据手册(版...    ▪初识XML(三)Schema
▪Deep Copy VS Shallow Copy    ▪iphone游戏开发之cocos2d (七) 自定义精灵类,实...    ▪100个windows平台C++开发错误之八编程
▪C++程序的内存布局    ▪将不确定变为确定系列~Linq的批量操作靠的住...    ▪DIV始终保持在浏览器中央,兼容各浏览器版本
▪Activity生命周期管理之三——Stopping或者Restarti...    ▪《C语言参悟之旅》-读书笔记(八)    ▪C++函数参数小结
▪android Content Provider详解九    ▪简单的图片无缝滚动效果    ▪required artifact is missing.
▪c++编程风格----读书笔记(1)    ▪codeforces round 160    ▪【Visual C++】游戏开发笔记四十 浅墨DirectX教程...
▪【D3D11游戏编程】学习笔记十八:模板缓冲区...    ▪codeforces 70D 动态凸包    ▪c++编程风格----读书笔记(2)
▪Android窗口管理服务WindowManagerService计算Activity...    ▪keytool 错误: java.io.FileNotFoundException: MyAndroidKey....    ▪《HTTP权威指南》读书笔记---缓存
▪markdown    ▪[设计模式]总结    ▪网站用户行为分析在用户市场领域的应用
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3