精华内容
下载资源
问答
  • Win32SDK编辑框控件的简单操作

    千次阅读 2015-06-28 11:35:02
    我平常都用Win32API函数:GetDlgltemText(获取控件文本)和SetDlgltemText(设置控件文本) 1.函数原型:  UINT GetDlgltemText(HWND hDlg,int nlDDlltem,LPTSTR IpString ,int nMazCount);  BOOL SetDlgltemText...

    我平常都用Win32API函数:GetDlgltemText(获取控件文本)和SetDlgltemText(设置控件文本)

    1.函数原型:

            UINT GetDlgltemText(HWND hDlg,int nlDDlltem,LPTSTR IpString ,int nMazCount);

            BOOL SetDlgltemText(HWND hDlg,int nlDDlgltem,LPCTSTR IpString);

    2.函数的参数意义

             1.GetDlgltemText

                    hDlg:编辑框所在的窗口句柄;

                    nlDDlgltem:编辑框的控件ID

                    lpString:即将存入编辑框内容的变量

                    nMazCount:缓冲区

             2.SetDlgltemText

                    hDlg:编辑框所在的窗口句柄

                    nlDDlgltem:编辑框的控件ID

                    lpString:设置编辑框的内容

    3.必不可少的头文件

         1.windows.h

         2.resource.h

    4.简单示例

            如果窗口的句柄是hwnd,窗口中有两个编辑框控件一个按钮,第一个编辑框控件ID是IDC_E1,第二个编辑框控件ID是IDC_E2,按钮控件ID是IDC_B

            要实现按下按钮把IDC_E1中的内容传入IDC_E2,可以在按钮中添加以下代码:

     

    char a[100];
    case IDC_B:
         GetDlgltemText(hwnd,IDC_E1,a,100);
         SetDlgltemText(hwnd,IDC_E2,a);


          

     

     

     

     

    展开全文
  • 巧用第三方快速开发Android App 热门第三方SDK及框架

    千次阅读 多人点赞 2017-01-12 23:29:28
    巧用第三方快速开发Android App 热门第三方SDK及框架历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了项目地址:巧用第三方快速开发Android App 热门第三方SDK及框架 这这篇博客...

    巧用第三方快速开发Android App 热门第三方SDK及框架


    这里写图片描述

    历经大半年的时间,终于是把这门课程给录制出来了,也就在今天,正式在慕课网上上线了

    项目地址:巧用第三方快速开发Android App 热门第三方SDK及框架

    这这篇博客也是专门来聊聊这门课程有什么不一样,首先,这门课程是比较针对于快速学习,快速上手的同学的,所以这是面向参加工作或者准备参加工作的同学所迫切需要的,因为只有你掌握了这些,对于你实际开发中才是有帮助的,当然,你要是还在校,那也没关系的,学习本身就是一法通万法,但是你们却无法体会到那种迫切需要知识的渴望,这也正是很多同学需要的,所以我尽我所能的录制出来了,希望大家会喜欢,学习课程需要是是一颗恒心和毅力,你能坚持下去吗?

    一.课程大纲

    • 第1章 课程介绍与项目准备

      • 1-1 课程介绍—功能技术点和课程安排
      • 1-2 解开面纱—完整项目演示
      • 1-3 准备工作—项目架构部署
      • 1-4 首页框架—TabLayout布局搭建
      • 1-5 首页框架—TabLayout逻辑实现
    • 第2章 工具类封装与首页引导页开发

      • 2-1 工具类的封装—Log封装
      • 2-2 工具类的封装—SharedPreferences封装
      • 2-3 首页逻辑—首页跳转逻辑开发
      • 2-4 引导页逻辑—引导页逻辑开发
      • 2.5 异常反馈收集—腾讯Bugly
    • 第3章 用户注册/登录/忘记重置密码开发

      • 3-1 用户管理—Bmob后端云简介
      • 3-2 用户管理—Bmob简单集成
      • 3-3 用户管理—用户注册功能开发
      • 3-4 用户管理—用户登录功能开发
      • 3-5 用户管理—忘记重置密码开发
      • 3-6 用户管理—登录自定义Dialog开发
      • 3-7 用户管理—个人中心数据处理开发
      • 3-8 用户管理—CircleImageView圆形头像
      • 3-9 用户管理—圆形头像选择性裁剪
    • 第4章 个人数据编辑/快递及号码地查询开发

      • 4-1 快递查询—RxVolley获取接口数据
      • 4-2 快递查询—Json解析快递查询接口数据
      • 4-3 快递查询—自定义布局实现时间轴效果
      • 4-4 归属地查询—RxVolley获取并解析接口数据
      • 4-5 归属地查询—自定义键盘逻辑开发
    • 第5章 语音机器人聊天开发

      • 5-1 机器人聊天—对话adapter的实现
      • 5-2 机器人聊天—机器人实时对话实现
    • 第6章 微信精选文章查看开发

      • 6.1 新闻列表之微信精选
      • 6.2 新闻详情的监听
    • 第7章 美女图片加载/裁剪/缩放开发

      • 7.1 工具类的封装之图片加载库Picasso
      • 7.2 美女社区的优化
      • 7.3 可缩放式图片预览操作
    • 第8章 语音播报/短信提醒/下载更新开发

      • 8.1 第三方SDK之科大讯飞TTS引擎
      • 8.2 动态监听短信广播
      • 8.3 WindowManager的实现
      • 8.4 事件分发机制
      • 8.5 搭建本地服务器Tomcat
      • 8.6 应用在线升级
      • 8.7 监听百分比下载进度
    • 第9章 二维码扫描生成/百度地图定位及绘制开发

      • 9.1 二维码的扫描和生成
      • 9.2 第三方SDK之百度地图
      • 9.3 百度地图的定位以及图层绘制
      • 9.4 关于软件
    • 第10章 细节优化与项目总结

      • 10.1.项目总结

    我觉得课程还是很有知识含量的,大家觉得呢?

    二.章节介绍

    说实话,这门课程针对的人群还真不好计算,里面有些知识点,就算工作了也没接触到,有些又需要工作经验的铺垫,但是整个架构,偏入门级,需要看官自己去挖掘,颇有点【你弱他也弱,你强他也强】的感觉,我们继续来看,看看项目介绍

    • 第1章 课程介绍与项目准备

    如果你从事Android开发,那你一定要学习一些开发技巧和掌握一些开发逻辑,而很不巧,我这里全部都有,最开始我们介绍一下我们这个应用的整体组织架构,通过对各个平台的api进行一个简单的分析,以及说明一下我们的RxVolley的网络框架使用教程,在本章中,我们将分析整个项目的大致架构,同时,我们有规范性的部署我们的项目…

    • 第2章 工具类封装与首页引导页开发

    项目最讲究的前期架构搭建,我们把标准的Log和SharedPreferences进行封装,同时开发我们的首页和引导页做一些技巧性的处理,项目开发效率将大大的提高,同时我们继承腾讯的bugly为我们的Carsh做一些约束性的策略!

    • 第3章 用户注册/登录/忘记重置密码开发

    Bmob后端云为我们用户操作带来了极大的便捷,本章主要是涵盖了一个用户系统逻辑,实现用户的登录,注册,找回密码,修改密码,邮箱验证,以及记住密码等功能的实现,通过本章你可以学习到宝贵的用户操作逻辑,同时可以学习到自定义的Dialog以及头像的选择和裁剪!…

    • 第4章 个人数据编辑/快递及号码地查询开发

    时间轴时一个很炫酷的效果,一般作用在物流信息上,我们同样也可以作为一个学习对象去学习他的使用方法,同时吗,我们可以在线查询我们的电话号码归属地,巧用键盘的逻辑提升我们用户体验。

    • 第5章 语音机器人聊天开发

    Android智能问答机器人是时下非常流行的一种服务,微软“小冰”的出现更是让其实实在在的风靡了一把。那么,本课程就将带领大家完整的实现整个问答机器人的制作。大家可通过本课程的学习,即将可以打造自己的专属智能机器人,这也是我们管家名字的由来,同时你还可以学习到我们的ListView高级用法-对话列表,也就是我们自定…

    • 第6章 微信精选文章查看开发

    既然是一款轻松娱乐的应用怎么能没有一个新闻列表呢?我们listview实现新闻列表 ,通过webview去加载新闻详情,本章节会讲解Picasso图片加载,以及webview的一些基本应用,自定义加载进度条!

    • 第7章 美女图片加载/裁剪/缩放开发

    有新闻了怎么能少得了美女,我们使用Gank的接口实现一个美女列表,封装我们的图片 加载库Picasso,使用起来更加的方便,并且使用我们的PhotoView实现多点触摸式预览缩放!很值得期待

    • 第8章 语音播报/短信提醒/下载更新开发

    本章节主要还是作用于设置中心,加入科大讯飞的语音聊天功能,这才是真正的语音机器人,同时我们后台动态注册BroadcastReceiver监听我们的短信智能显示,通过事件分发监听我们的Home和Back键,同时模拟搭建我们的TomCat服务器,这样就可以实现我们的版本更新功能,同时监听我们的进度实现百分比进度条,perfect,逻辑非常的…

    • 第9章 二维码扫描生成/百度地图定位及绘制开发

    二维码现在非常的火,不管什么App,基本上都有集成二维码。所以,在自己的项目中集成二维码功能还是非常有必要的。而百度地图,则是我们扩展的必须功能,不管你认不认可,地图功能都已经成为了我们开发的标配功能了,所以我们通过定位服务在我们的地图上绘制一个我们所在位置的图层。…

    • 第10章 细节优化与项目总结

    本章,我们把所有的知识点都回顾一遍,哪些不清晰的地方我们再次讲解,做到包学包会的底部来介绍我们本系列课程的视频。

    三.课程逻辑

    慕课找到我的时候,是在年初的时候,但是由于工作比较忙,所以一直拖着,一直到去年八月份的时候,才正式开始商谈这个事情,于是我就开始思考着,要录制一个什么样的项目,但是我也没有一个正儿八经的服务器,也就打消了做商城,社交类APP,考虑过直播应用,但是如果只是单纯的使用一个直播SDK的话,那就只是一个噱头了,所以我就在我的千人群里做了下调查,但是结果我相信大家都猜的到,五花八门,这么一想,我就干脆把能使用到技术都给讲一遍吧,也是我个人工作上常使用到的技术点,于是就开始编写了,项目最开始名字叫做【智能管家】,因为我希望你不管想使用什么都可以在上面找到,好的不多说,我们来简单的谈谈这个应用的逻辑

    这里写图片描述

    App从入口一启动就会去判断是否是第一次运行,如果是的话,进入引导页,否则就进入主页,然后这里标记一下,也就做到了判断程序是否是首次启动,引导页使用了ViewPager,监听三个小圆点和跳过按钮,进入了登录页面,登录,注册,忘记密码,重置密码,这是使用的是Bmob的用户管理系统,记住密码是我教大家封装的SharedPreferences工具类,当然,前面还会封装一个Log工具类,然后进入的是主页,主页我采用的是TabLayout + ViewPager + Fragment的形式,所以这里有四个主要内容,分别是【服务管家】【微信精选】【美女社区】【个人中心】,这里我们一个个来介绍

    【服务管家】重点在于ListView实现对话列表的形式,这里可是有技巧性的,不过,在我的博客中是可以学习到的

    当然,还不仅仅是如此,我这里还是使用了科大讯飞的TTS引擎来实现语音聊天,所以在设置里有语音的开关,而聊天的数据使用的是聚合数据的机器人接口,网络解析使用的是RxVolley框架

    【微信精选】其实还算是比较单纯的ListView列表,不过这里牵扯到了图片的加载,我这里会教大家封装一个网络图片的解析工具类,使用的网络解析框架是Picasso,关于这个工具类,大家可以看我的这篇博文

    而微信的详情,我就直接用WebView去加载了,这里只是监听了一个进度

    【美女社区】这个比较好玩,延续了微信精选的作风,我把ListView换成了GridView,又使用了Gank的福利接口,满屏都是妹子,同时我使用了PhotoView进行拖拽和缩放等功能

    【个人中心】这里的基本个人资料是延续Bmob的个人信息,还有电话号码查询,以及物流查询等,牵扯到了时间轴的效果等,这个等待大家自己去挖掘吧!

    当然课程也不仅仅只是这些,比如我们还有二维码,百度地图,腾讯的Bugly等都是很有趣的例子,但是我不能透露太多,有兴趣的可以自己去看看

    这里写图片描述

    四.后记

    如果真心喜欢这门课程的话,就赶紧动手吧,如果对你不适合,也不要看是我的视频就乱买,佛家讲究的是一个缘分,缘深缘浅自由天定!

    但是这里,我肯定要做一些承诺的

    • 1.问答专区

    任何关于本课程的问题都可以在问答区随时提问,也可在问答区和同学相互切磋,讲师会梳理同学们学习中的典型问题,进行集中答疑

    • 2.源码开放

    课程代码完全开放给你,你可以根据所学知识自行修改代码,不断优化与升级不断丰富代码,甚至可以直接应用在实际工作中

    • 3.全力相助

    你有任何不懂的地方你都可以向我提问,我确保你吃透这个知识点,学习到想学习的技能

    这里写图片描述

    课程地址:智能管家 | 巧用第三方快速开发Android App

    展开全文
  • 蓝松视频编辑SDK使用说明

    千次阅读 2019-09-05 21:24:24
    蓝松SDK使用说明 注意:此文件三周更新一次, 如果...我们的SDK以module的形式提供, 在你的项目点击File/import midule导入,并在您主module的build.gradle增加implementation project(’:LanSongSDK’) LanSo...

    蓝松视频编辑SDK–新版本API使用说明

    合成容器:ConcatComposition

    字面意思是:拼接合成. 是以图片和视频的拼接的总时长作为最终导出视频的时长, 容器有3大层, 分别是:背景图层 , 拼接类图层 , 叠加类图层. ˙
    背景层: 给容器整体增加一个背景图层, 支持:颜色背景, 图片背景, 如果你要给不同的图层设置不同的背景,则可以用图层的画布/背景功能来分别设置;
    拼接层: 把用户选中的图片和视频前后拼接在一起,是前后叠加. 可以在开始前增加, 也可以做预览过程中插入, 可以指定时间点插入, 可复制, 可删除, 可调节每个图层的前后位置, 支持手势调节, 支持图层的各种方法.
    叠加类图层: 在拼接层上面,叠加多个其他图层, 是上下叠加. 比如叠加水印, 叠加文字, 叠加动画等等这些称之为叠加类型的图层, 图层可调节上下位置, 可设置显示开始时间点, 可设置显示时长;可叠加, 可删除, 支持手势,旋转移动缩放滤镜马赛克等等, 可执行父类图层的所有方法.
    这些API 的关键词是: 在LSOConcatCompositionView中;, 拼接:(concat), 叠加:(overLay), 背景(backGround);

    视频和图片的混合编辑

    当前大部分视频编辑是拼接编辑, 比如您选中了几个视频和几个图片, 则是视频和图片混合的前后拼接合成的编辑.
    可以是单个视频, 也可以是多个视频, 也可以是一张图片或多种图片, 或者图片和视频混合编辑.
    视频增加后,当前默认是整个视频时长增加进去, 增加后, 你可以设置视频时长, 容器的总时长会改变, 得到图层对象,可执行图层的各种方法.
    图片增加后, 默认每张图片显示3秒, 可调节显示时长, 可复制,删除,插入图片, 拼接图片不可以循环, 得到图层对象,可执行图层的各种方法.
    如果设置了转场,则前一个层和后一层有部分画面是重叠, 重叠时间可设置. 设置转场后,
    最终容器的总长度是各个图片和视频的长度之和 ,如果有转场或视频变速,则对应的时长会改变;

    图层之–时间调节

    素材本身的的时长. 比如视频时长,声音时长, 图片在放入后, 默认是显示3秒; 图片序列和gif等是其本身的时长; 这个时长是素材本身的, 我们称之为AssetDuration 是资源时长, 只能读取,不能修改, 但你可以修改素材在容器中的显示时间和从什么时间点开始显示;
    可以修改的有: 素材在容器中的显示时间点, 是否循环, 显示时长, 如果循环,则会从显示时间点开始, 一直循环到整个容器尾部, 时间可以实时设置, 实时调节, 实时获取,当显示时长改变后, 如果你要获取对应的缩略图,则缩略图中图片数组也会相应的改变;
    如果是视频素材, 则支持裁剪视频长度, 两个方法是: setCutStartTime和 setCutEndTime,从视频的什么时间开始裁剪,和裁剪到什么地方; 视频裁剪当前没有约束, 但建议你最小裁剪值是1秒;
    这些API的名字是:资源时长(assetDuration), 当前图层的显示时长( displayDuration), 从容器的什么时间点开始显示:(startTimeOfComp);

    图层之–手势 + 移动/缩放/旋转

    容器在创建时设置了宽度和高度, 素材增加进去后, 会默认放到容器的中间, 即容器的宽度/2和高度/2;
    每增加一个素材, 会得到一个图层对象, 图层都支持用手指直接操作屏幕 来完成 移动缩放旋转的touch事件, 你可以单指移动, 双指缩放和旋转; 当选中一个图层时, 它的周边会出现一个红色的方框, 表示选中当前图层, 为了避免在操作时误触别的图层, 你可以把别的图层锁定, 我们提供丰富的API让你设置或获取相关的坐标, 我们甚至定义了一个类LSORect来让你获取相对应当前预览窗的相对坐标 和 相对于容器中的绝对坐标;
    我们另外定义了各种常见的枚举类型, 比如4种缩放类型, 和上/下/左/右/中/左上/左下/右上/右下这9个位置点供您选择; 提供缩放系数, 缩放到实际大小,设置具体位置, 相对屏幕位置等
    如果你要用代码的形式设置, 则设置的位置是当前图层中心点的位置. 可以缩放到指定大小, 旋转则0度则是正上方为0点, 角度是0–360度;
    这些API的关键词是: 缩放大小(scaleSize), 缩放类型(scaleType) , 缩放系数(scaleFactor), 位置类型( positionType) , 位置中心点(centerPoint), 位置相对预览窗口坐标(positionInView), 旋转 (rotation)

    图层之–贴纸/水印/文字

    贴纸, 水印, 文字, 在我们图层处理架构里, 是以图像的形式呈现的, 因为手机GPU处理的是图像, 贴纸, 水印, 文字在底层是一个意思, 认为是一个图像或一组连续的图像做处理.
    文字在SDK内部会各种转换方法, 让你方便的以文字图层操作, 操作完毕后底层会转换为图像来处理,如果我们提供的绘制文字不够详细, 你也可以自己绘制,然后转换为图片或图片数组,设置到容器中.
    贴纸和水印是一个意思,我们提供了单个图片的图层,多张联系图片组成的图层, Gif图层等, 这些你可以方便的设置, 可以设置一个,也可以设置多个.
    图层的增加是通过容器Composition的方法实现的, 增加后, 得到对应的图层对象;
    这些API 的关键词是: android的图片图层(BitmapLayer) , android的图片序列图层(BitmapListLayer), ios的图片图层(ImageLayer), ios的图片序列图层(ImageListLayer), Gif图层.

    图层之–颜色调节/滤镜/美颜

    滤镜是对图层的画面做调节, 和图层的缩放移动一样是图层的一个属性, 颜色调节和滤镜和美颜, 都是滤镜的不同效果. 当前我们的美颜是仅对整体画面做磨皮和美白处理,没有做脸识别后的各种功能.
    当前支持的颜色调节包括: 亮度/ 对比度/ 饱和度/ 锐化/色温/白平衡/色调/曝光度
    当前支持80种滤镜, 包括常见的17种滤镜,当前建议你使用这17种滤镜, 这些滤镜在我们demo里可以看到.
    这些API 的关键词是: 设置滤镜(setFilter,设置会把上一个替换掉),增加滤镜(addFilter), 移出滤镜(removeFilter),删除所有滤镜(removeAllFilter);

    图层之–转场设置

    转场是两个素材前后拼接时播放时的一种过渡效果, 比如上一段淡淡的消失, 下一段逐渐出现等.
    当前的转场是AE设计师在PC端用after Effect 设置好的, 然后按照我们的格式,导出为json文档,SDK还原出来在PC端设计的效果. 这样的好处是: 开发人员不用自己用代码实现各种效果,只需要根据不同的效果,把对应的json送到SDK中, SDK就实现了这样的效果, 简单高效, 并可以做到Android和ios的统一.
    PC端用Ae软件制作规范: 用一张小于等于544x960的图片创建一个合成, 然后对其做旋转缩放透明处理, 形成动画; 或对其做mask遮罩处理,形成动画; 当前不支持同时做旋转缩放透明+ mask的效果; 合成的分辨率应小于等于544x960, 时长建议不大于3秒, 以实际效果为准;
    当前支持各种遮罩转场和基础的移动旋转缩放转场; 转场设置是通过每个具体的图层设置的, 比如有图层ABC3个, 要在AB之前增加转场,则设置A的transition; 要给BC之间加转场,则设置B的transition;
    转场的时间可以设置,默认在是设置路径后, 会默认是1秒钟, 最大可设置为5秒钟; 当前仅支持遮罩转场, 即各种形式的透明.
    这些API 的关键词是:转场(transition); 设置转场时间:(transitionDuration) , 播放转场(playTransition), 取消(cancelTransition);
    执行步骤是: 你需要先设置转场路径, 设置后,默认转场时间是1秒钟, 如需预览,则playtransition; 调用cancelTransition取消转场; 在设置路径后, 你可以设置转场时间; 设置后, 如需要播放则playTransition; 如果你要应用到全局,则需要把一个json文件循环设置到每个图层对象; 我们内部会共用同一个json内容;

    图层之–入场动画/出场动画/指定时间点动画

    入场动画, 出场动画, 和转场一样, 也是Ae设计师在PC端设计好后, 导出为json,送入到SDK中. SDK解析还原出对应的效果.
    PC端用Ae软件制作动画规范: 用一张小于等于544x960的图片创建一个合成, 然后对其做旋转缩放透明处理, 形成动画; 或对其做mask遮罩处理,形成动画; 当前不支持同时做旋转缩放透明+ mask的效果; 合成的分辨率应小于等于544x960, 时长建议不大于3秒, 以实际效果为准;
    因入场动画和出场动画从技术上讲,仅仅是插入到图层的时间点不同,SDK可以设置开始从图层的哪个时间点开始, 当前入场动画默认是0, 出场动画默认最后json的时间时长; 你可以调节这个出入场的持续时间, 持续时间调节后, 会把调节后的时长作为整个动画走完的时间, 如果你设置的短,则动画走的快; 如果设置的长,则动画走的慢; 入场动画和出场动画是setXXX的方式, 每次设置后, 会把之前的动画移出;同一时刻只能有一个入场或出场动画;
    指定时间点动画, 是你可以指定一个时间点增加动画, 可以实时设置开始时间点,也可以设置动画时长, 可以增加多个, 每个素材最大支持20个动画。在每次设置后, 可预览或移除;
    这些API的关键词是: 动画:(Animation) ; 入场动画/出场动画:(setAnimationAtLayerHead/End), 指定时间点动画:(addAnimationAtCompTimeUs)预览动画 playAnimation; 移除removeAnimation;
    执行步骤是: 增加json文件, 会得到LSOAnimation对象,用这个对象可以playAnimation来预览; removeAnimation删除; 对象里有设置开始时间点和播放时长的方法;. 等要删除时,用removeAnimation; 当一个图层从容器中释放后, 我们会销毁里面的所有的对象;

    图层之–特效

    和动画一样的制作步骤, 唯一不同的是: 动画是从开始播放到结束, 如果设置的时长不等于json中的默认时长,动画平均分配不同的动画快慢来达到设置的长度; 而特效的效果时间是固定的, 如果设置的时长json中的默认时长,则会循环播放特效;
    特效可设置当前图层的任意时刻点开始,我们举例了从头(head) 和尾(end)的两种方式;
    这些API的关键词是: 特效:(Effect), 指定时间点增加特效:(addEffectAtCompTimeUs); 预览特效(playEffect), 移除特效:(removeEffect),
    执行步骤, 和动画步骤一致;

    图层之–画布(背景)/去水印/透明/镜像

    画布是对当前每个图层做的操作, 是无论图层缩放多少, 画布都会铺满整个容器, 画布可以是颜色, 图片, 或画面的虚化做背景;
    去水印当前支持马赛克去水印, 我们在图层类中举例了最大4个去水印的API, 可以设置位置,设置大小,设置马赛克像素的大小; 如果你有更多个马赛克的需求,还是用LanSongMosaicRectFilter自行增加;
    透明我们描述为:不透明度, 这样更好理解一些, 和调节RGB一样,可以直接设置; 参数1.0是完全不透明, 0.0是完全透明;
    镜像:是把整个画面的左边镜像到右边, 把右边镜像到左边; 如果你打算把左边的一半镜像到右边,则用我们的LanSongMirrorFilter滤镜;
    这些API的关键词是: 背景(backGround), 去水印(mosaicRect), 不透明度(opacityPercent) , 镜像(mirror).

    图层之–获取缩略图

    缩略图是每秒钟一帧, 大小是等比例缩放到192x192附近, 比如视频是1080x1920,则会返回的每张缩略图片大小是199x355;
    可以多次获取, 每次获取时, displayThumbnail得到的是当前画面可以显示的缩略图, 如果可显示的范围是2.5秒到–4.5秒; 则 显示时长是 显示第三秒, 第四秒, 第5秒的缩略图传递过来.
    图片图层的缩略图, 返回是同一张图片对象组成的数组;

    声音图层

    外界输入的各种音效, 无论是wav格式的音效, 还是mp3,m4a, 或者录音 或者带有声音的视频, 我们统称为声音. 这些声音是同一个API输入到SDK中, 然后得到对应的声音图层.
    声音图层, 可以指定时间点增加, 可以设置循环, 设置把声音的那一段裁剪后增加, 设置音量大小, 设置淡入淡出效果
    声音音量范围是0—5.0 , 1.0是默认声音. 0.0是关闭声音; 5.0是放大5倍; 声音裁剪最小是300毫秒, 最大是声音的原始长度;
    这些API的关键词是: 音频图层:(LSOAudioLayer); 裁剪时长(setCutStartTime/setCutEndTime) 音量:(volume)

    展开全文
  • S60平台UI资源——编辑框

    千次阅读 2009-09-04 10:36:00
    此文摘译自SDK 3rd MR:/9.1/S60_3rd_MR/S60Doc/s60_platform_avkon_ui_resources_editors_v1_1_en.pdf S60平台的编辑框主要可以分为以下四类:① Text editors② Number editors③ Secret editors④ Multi-field...

    此文摘译自SDK 3rd MR中:/9.1/S60_3rd_MR/S60Doc/s60_platform_avkon_ui_resources_editors_v1_1_en.pdf

     

    S60平台的编辑框主要可以分为以下四类:
    ① Text editors
    ② Number editors
    ③ Secret editors
    ④ Multi-field numberic editors

    ① Text editors
    文本编辑框可以允许一行或多行文本输入,有的编辑框不支持格式化文本,有的支持。可以把文本编辑框细分为三类:无格式编辑框(plain text editors)、全局编辑框(global text editors)和富足(囧)编辑框(rich text editors)。其中,plain不支持格式化文本;global支持所有文本的格式化,但不支持只格式化部分文本或段落;rich对格式化提供了全面 的支持,并支持嵌入的非文本对象。

     

     

    ② Numberic eidtors
    数字编辑框只允许用户输入单行数字,因数字不能跨越多行。数字编辑框可以细分为三类:整数编辑框(integer editors)、浮点数编辑框(floating-point editors)和定宽小数位数编辑框(fixed-point editors)。

    ③ Secret eidtors
    密码编辑框是不支持格式化文本的,用于输入密码、PIN码等。有两种密码编辑框,一种支持输入文本和数字,另一种只支持输入数字。其中前者会短暂显示用户输入的字符,然后转变成(*)星号。

     

    ④ 多域数字编辑框
    多域数字编辑框(MFNE)是多个数字编辑域的组合。用来输入时间、日期和IP地址等。按用途可将其分为八类:数字编辑框、范围编辑框、时间编辑框、日期编辑框、时间和日期编辑框、持续时间编辑框、时间偏差编辑框和IP地址编辑框。

     

    下面着重介绍如何创建使用这些编辑框:

    创建编辑框控件跟创建其他控件相似。可以通过加载资源定义创建或运行时动态创建,下面将介绍这两种方式。
    Plain Text Editor资源结构
    文本编辑框资源是作为EDWIN结构定义的,EDWIN在eikon.rh中定义,如下:
    STRUCT EDWIN
    {
            LONG flags=0;
            WORD width=0;
            WORD lines=1;
            WORD maxlength=0;
            AKN_EDITOR_EXTENSIONS
    }

    下面介绍结构详情:
    flags标示了编辑框的属性,它在CEikEdwin::TFlags中定义,这里赘述一下:
    EZeroEnumValue  
    EKeepDocument If set, CEikEdwin does not destroy its content on destruction.
    ESegmentedStorage If set, the content buffer uses segmented storage (see CEditableText::ESegmentedStorage).
    EWidthInPixels The size specified in the resource used to construct the object is given in pixels, not character widths.
    ENoAutoSelection No automatic selection takes place.
    Normally the entire text is selected whenever the Edwin is created, resized or has its text set as one operation.

    EJustAutoCurEnd If set, then whenever the control is activated the cursor is moved to the end of the text.
    ENoWrap Does not wrap the text being edited.
    ELineCursor Uses a line cursor instead of a block cursor.
    ENoHorizScrolling Does not perform horizontal scrolling.
    EInclusiveSizeFixed If set, scroll bars required to edit long documents appear inside the Edwin.
    This reduces the area used to display the Edwin.

    If not set, scroll bars appear outside the Edwin.

    EUserSuppliedText Sets the Edwin’s height according to the number of lines of text supplied by the user.
    EOwnsWindow The Edwin is a window-owning control.
    EDisplayOnly The Edwin does not respond to input at all.
    EAlwaysShowSelection Does not hide the selection if the Edwin loses focus.
    EReadOnly The Edwin is read-only so users cannot add text to any document it displays.
    A user attempt to add text results in a message to notify them that the Edwin is read-only.

    EAllowPictures If set, no special attempt to delete embedded pictures cleanly will be made.
    This flag does not apply to Edwins which do not edit rich text.

    EAllowUndo The Edwin supports undo operations.
    ENoLineOrParaBreaks Does not allow line or paragraph breaks in the text being edited.
    EOnlyASCIIChars Allows only ASCII characters.
    EResizable The Edwin is resizable.
    EIgnoreVirtualCursor The Edwin ignores the virtual cursor.
    ENoCustomDraw No custom draw is done.
    EAvkonEditor Changes layout to Avkon style.
    EAvkonDisableCursor Hides cursor.
    EAvkonNotEditable Changes text editor to non-editable mode.
    EEdwinAlternativeWrapping Sets the Avkon wrapping rules ON.

    Width标识了控件的宽度。宽度可由字符或像素标识,这取决于flags中是否指定了EWidthInPixels属性,如果是按字符定宽度,那选定字体中的最宽字符决定了控件宽度(就是最宽字符的宽度*Width)。

    Lines标识了编辑框的文本行数。
    maxlength标识了编辑框允许存储的最大字符个数。

    AKN_EDITOR_EXTENSIONS定义了更多的属性,其中的细节可以参照eikon.hrh中的介绍,属性列举如下:
    WORD default_case=EAknEditorTextCase;/
    WORD allowed_case_modes=EAknEditorAllCaseModes;/
    WORD numeric_keymap=EAknEditorStandardNumberModeKeymap;/
    WORD allowed_input_modes=EAknEditorAllInputModes;/
    WORD default_input_mode=EAknEditorTextInputMode;/
    LLINK special_character_table=-1;/
    WORD avkon_flags=EAknEditorFlagDefault;/
    WORD max_view_height_in_lines=0;/
    WORD base_line_delta=0;/
    WORD spare=0;

    这里简单介绍下各个属性的意义。
    default_case 编辑框默认输入大小写
    allowed_case_modes 允许的输入大小写
    numeric_keymap 数字输入法下,允许的映射(主要是指按*键弹出哪些字符)。
    allowed_input_modes 允许的输入法
    default_input_mode 默认的输入法
    special_character_table 特殊字符表
    avkon_flags 其他属性标志

    Global和Rich编辑框资源结构
    Global编辑框是由资源结构GTXTED定义的,GTXTED结构在eikon.rh中定义,如下:
    STRUCT GTXTED
    {
            WORD width=0;
            WORD height=0;
            WORD numlines=1;
            WORD textlimit=0;
            LONG flags=0;
            WORD fontcontrolflags=1;
            WORD fontnameflags=EGulNoSymbolFonts;
            AKN_EDITOR_EXTENSIONS
    }

    Rich编辑框是由资源结构RTXTED定义的,RTXTED结构在eikon.rh中定义,如下:
    STRUCT RTXTED
    {
            WORD width=0;
            WORD height=0;
            WORD numlines=1;
            WORD textlimit=0;
            LONG flags=0;
            WORD fontcontrolflags=1;
            WORD fontnameflags=EGulNoSymbolFonts;
            AKN_EDITOR_EXTENSIONS
    }
    跟EDWIN相比,Global和Rich编辑框多了一些属性,它们的含义如下:
    fontcontrolflags: Bit field of flags describing font control properties of the global or rich text control. These

    flags are defined in gulftflg.hrh and follow the naming convention of EGulFontControlXxx. The default value

    1 (EGulFontControlAll) provides all font controls to the editor control.

    fontnameflags: Bit field describing the font types available to the editor control. These flags are defined in

    gulftflg.hrh beginning with EGulAllFonts.

     

    数字编辑框资源结构
    整数编辑框资源是由AVKON_INTEGER_EDWIN定义的,AVKON_INTEGER_EDWIN定义如下:
    STRUCT AVKON_INTEGER_EDWIN
    {
            WORD maxlength = 0;
            LONG min = -99999999;
            LONG max = 99999999;
            LONG unset_value= -100000000;
            LLINK extension1 = 0;
            LLINK extension2 = 0;
    }
    结构中域的含义很容易理解,其中unset_value是默认值。

    Fixed-Point编辑框资源是由FIXPTED定义的,FIXPTED定义如下:
    STRUCT FIXPTED
    {
            WORD decimalplaces=2;
            LONG min;
            LONG max;
            LONG default=0;
    }
    其中,decimalplaces指定了允许的小数位数。

    Floating-Point编辑框资源是由FLPTED定义的,FLPTED定义如下:
    STRUCT FLPTED
    {
            WORD maxlength=18;
            DOUBLE min=-9.9e99;
            DOUBLE max=9.9e99;
            DOUBLE default=0;
    }

    Multiple-Field Numeric编辑框资源结构

    下面以日期编辑框示例资源定义:
    RESOURCE DATE_EDITOR r_date_editor
    {
            minDate = DATE
            {
                    day = 1;
                    month = 7;
                    year = 2004;
            };
            maxDate = DATE
            {
                    day = 31;
                    month = 12;
                    year = 2004;
            };
    }

    密码编辑框
    数字密码编辑框由资源NUMSECRETED定义,数字文本密码编辑框由资源SECRETED资源定义


    RESOURCE NUMSECRETED r_my_num_secret_editor
    {
            num_code_chars = 4;
    }
    RESOURCE SECRETED r_my_secret_editor
    {
            num_letters = 10;
    }
    文本数字编辑框对应的类为CEikSecretEditor, 数字密码编辑框对应的类为

    CAknNumericSecretEditor(继承自CEikSecretEditor)。

    下面介绍如何使用资源创建编辑框:
    下面的代码示例了如何使用资源创建一个Plain文本编辑框:
    // Create an instance of CEikEdwin
    iEditor = new (ELeave) CEikEdwin;

    // Set the container window
    iEditor->SetContainerWindowL(*this);

    // Set up the resource reader
    TResourceReader reader;
    CCoeEnv::Static()->CreateResourceReaderLC(reader, R_PLAINTEXTEDITOR);

    // Call second phase constructor
    iEditor->ConstructFromResourceL(reader);
    CleanupStack::PopAndDestroy();

    // Activate editor control
    iEditor->ActivateL();

    下面介绍如何不使用资源创建编辑框:
    下面的代码示例了如何不使用资源创建一个Plain文本编辑框:
    // Create an instance of CEikEdwin
    iEditor = new (ELeave) CEikEdwin;

    // Set the container window
    iEditor->SetContainerWindowL(*this);

    // Call second phase constructor
    iEditor->ConstructL();

    // Activate editor control
    iEditor->ActivateL();

    文本和文本属性

    编辑框的文本存储在一个CEditableText对象或它的子类对象中。下面介绍如何操作编辑框内容和如何格式化编辑框文本。

    选中的文本
    API中处理选中文本很简单,CEikEdwin中有五个相关方法:
    SelectionLength() : 获取选中文本长度
    Selection(): 获取选中文本的位置
    ClearSelectionL(): 清除选中文本
    SetSelectionL(): 选中部分文本
    SelectAllL(): 选中全部文本

    下面代码示例如何删除选中文本:
    // Get selection position
    TCursorSelection pos = iEditor->Selection();

    // Get text contents
    CPlainText* text = iEditor->Text();

    // Remove the selected text
    text->DeleteL(pos.LowerPos(), pos.Length());

    格式化
    格式化有两种级别:段落格式化和字符格式化。段落格式化是通过类CParaFormat操作的,对Global编辑框而言,所有段落都假设使用同一种格式化风格;对Rich编辑框而言,可以对每个段落使用格式化风格。字符格式化使用类TCharFormat。

    段落格式化CParaFormat中的属性如下:

     

    字符格式化可以通过TCharFormat中的iFontPresentation来指定


    CParaFormat和TCharFormat必须分别配合TParaFormatMask和TCharFormatMask这两个类才能起作用。
    下面示例段落格式化用法:
    // Create paragraph formatting object
    CParaFormat* pf = new (ELeave) CParaFormat();
    CleanupStack::PushL(pf);

    // Set the alignment
    pf->iHorizontalAlignment = CParaFormat::ECenterAlign;

    // Create paragraph formatting mask
    TParaFormatMask mask;

    // This alignment needs to be changed
    mask.SetAttrib(EAttAlignment);

    // Apply formatting to global text editor control
    iEditor->ApplyParaFormatL(pf, mask);
    CleanupStack::Pop(); // pf

    下面示例字符格式化用法:
    // Create character format
    TCharFormat cf;

    // Set up the text color and strikethrough properties
    cf.iFontPresentation.iTextColor = KRgbBlue;
    cf.iFontPresentation.iStrikethrough = EStrikethroughOn;

    // Create character format mask
    TCharFormatMask cmask;

    // The text color and strikethrough need to be changed
    cmask.SetAttrib(EAttColor);
    cmask.SetAttrib(EAttFontStrikethrough);

    // Apply formatting to global text editor control
    iEditor->ApplyCharFormatL(cf, cmask);

    展开全文
  • 1. SDK Verion 数据来源于维基百科,和一篇博客 Api 版本号 代号 发布时间 主要更新内容 1 1.0 无 2008-09-23 Web浏览器显示,短信,媒体播放器,相机,Wifi及蓝牙支持 2 1.1 Petit Four(花式...
  • 我们在做关于数据库的练习中,数据库操作必不可少,如果我们用AS中轻量型的sqlite3的话,先要进行path环境配置,还需要在cmd命令框中进行操作,1.首先要在环境配置path中添加sqlite3,第一步要找到sqlite3.exe文件...
  • Android/iOS视频编辑SDK开发记

    千次阅读 2017-12-04 09:48:27
    开发移动端的视频编辑SDK已经三个月了,因为之前有过在PC上做实时视频合成的经验,所以乐观预期最短两个月就够了,因为主要的开发难点只在于Android和iOS移动平台相关的模块,以及视频合成的时间线控制。既然项目告...
  • sdk中数据转换与cedit类

    千次阅读 2010-05-23 00:33:00
    · 在MFC程序,使用CString来处理字符串是一个很不错的选择。CString既可以处理Unicode标准的字符串,也可以处理ANSI标准的字符串。CString的Format方法给我们进行字符串的转换带来了很大的方便,比如常见的int、...
  • 图形编辑的文本框实现(sdk)

    千次阅读 2006-11-28 13:37:00
    实现过程大致如下:现在屏幕上画出一个矩形,表示文本框的编辑范围;此时需创建一个edit窗口,多行的属性,没有边框(因为已经有矩形边框了),先把它隐藏起来ShowWindow(hedit,SW_HIDE).当鼠标左键在此区域双击时,...
  • SPEECH SDK中编程文档

    千次阅读 2007-12-02 01:50:00
    //获取编辑框内的字符,最大长度必须限制在64kb-1内。 gpIVTxt->Speak(LPTSTR(pSpeak), VTXTST_QUESTION | VTXTSP_NORMAL, NULL); //读出编辑框中的字符 free(pSpeak); return TRUE; } case IDCANCEL: { KillTimer...
  • MFC编辑框:回车得到输入的数据

    千次阅读 2018-10-21 21:09:29
    重写对话框的PreTranslateMessage函数,在里面判断是否俺了回车键,如果是的话再判断焦点是不是在编辑框里面,可以用GetFocus 这个函数判断焦点是否在那个编辑框里面: BOOL CTestDlg::PreTranslateMessage(MSG* ...
  • MAC环境配置SDK

    千次阅读 多人点赞 2019-02-16 09:51:01
    下面我将一下mac环境下的配置步骤:1、启动Terminal终端工具2、输入cd ~/ 进入...会打开之前创建的文件更新: source .bash_profile按“control+X”保存(确认按“Y”)5、在文件写入以下内容:export export PATH=
  • 环境 VC6/VC7, MS Platform Core SDK, IE4.0+, WinNT/2K/XP (在英文/中文/日文版的Win2k/XP 及IE6.0...本文将介绍一个工具,它不仅能偷窥各种桌面程序的密码,还能窥到IE页面的密码,这个程序就是本文要介绍...
  • 用VC实现特定编辑框上对回车键响应

    千次阅读 2014-11-13 17:38:12
    摘要 :本文讲述了在指定的编辑框上能响应从键盘输入回车键的一种方法,对进程内消息的解析、动态获取指定资源ID等技术也作了简要描述。 关键字 :Microsoft Visual C++ 6.0、编辑框、回车键、消息、资源  一、...
  • SDK中创建控件和控件消息

    万次阅读 2008-07-03 17:13:00
    MSDN-> Platform SDK-> User Interface Services->Windows User Interface->Controls 查得。 五、控件"类名称" 1.标准控件 BUTTON :按钮 COMBOBOX :复合 EDIT :编辑 LISTBOX :列表 RichEdit :...
  • 《Android SDK Document 框架导读的翻译和注解》系列的文章将对Android应用程序的架构做一个基本的介绍,本文源于Android SDK ducument的第一个部分,描绘了Android 应用程序系统的骨架,因此,这部分对理解Android...
  • BREW SDK的组成

    千次阅读 2009-03-09 10:01:00
    BREW SDK中包含了一组工具和组件,应用程序开发者可以通过这些工具和组件高效、快速的开发出多种多样的应用程序,这些工具和组件包括: 1、BREW AEE。BREW AEE是一个可扩展的面向对象的应用程序开发和执行环境,它...
  • 前言 前不久Hubble推出AB测试平台,web端已支持了编程实验、多链接实验,现在又支持了可视化实验。可视化实验通过所见即所得的在线配置,...2. 打开目标页,进入在线编辑状态; 3. 编辑完成后保存退出; 4. 进入...
  • RemObjects SDK 简介

    千次阅读 2008-01-02 12:44:00
    请跟踪连接以获取这些特征的更多信息。 总特征 支持广泛的通信信道,包括 HTTP, TCP, Email, Named Pipes, 以及 local/single-tier.  Super TCP 以及 New Super HTTP Communication 信道。 ...
  • 在调试SDK自动化测试脚本的过程,遇到需要通过调节手机系统时间来达到SDK推广弹窗的弹出条件。接下来的内容是关于如何利用自动化实现系统时间的更新。 一、命令生效性 1、利用adb shell 查看当前的手机系统时间: ...
  • 游戏编程之三 DirectX SDK简介

    千次阅读 2016-06-15 19:17:17
    第三章 DirectX SDK简介 第一节 关于DirectX SDK Microsoft DirectX提供了一套非常优秀的应用程序接口,包含了设计高性能、实时应用程序的源代码。DirectX技术将帮助您建构下一代的电脑游戏和多媒体应用程序。它的...
  • 但是他们经常会搞不清楚,哪些项目是需要接入Poco-SDK才能获取控件树,这个Poco-SDK是接入到哪里去的,所以今天我们就接入Poco-SDK这个问题,把同学们常问的一些问题给大家解答下。 1.如何知道项目是否需要接入Poco-...
  • 豪言壮志 今天天气不错,挺风和日丽的,出去逛逛街,溜溜弯,拍上一张美图,配上高逼格的格言警句,发到朋友圈,一片鸡汤文就此诞生。...花半天时间找了一下,目标就它了:微信的「图片编辑器」,然后自...
  • Android中文SDK-----Android新手入门

    千次阅读 2010-03-08 12:20:00
    Android新手入门 (Getting Started with Android ) 新手入门Android,请首先阅读下面的章节 (To get started with Android, please read the following sections first ) 安装SDK和插件 (Installing the SDK and ...
  • Onboard SDK文档

    千次阅读 2018-10-11 09:50:52
    Onboard SDK综述... 1 1、 简介... 1 1.1硬件支持... 1 1.1.1产品类别... 1 1.1.2组成部分... 2 1.1.3支持产品... 3 1.1.4飞机比较... 3 1.1.5 飞控比较... 9 1.1.6 相机比较... 11 1.1.7 遥控器比较... ...
  • android sdk安装之腾讯SDK源的安装

    千次阅读 2016-02-04 23:27:25
    腾讯SDK的安装方法 原文 地址http://android-mirror.bugly.qq.com:8080/include/usage.html ☀ Windows  I. Open Android SDK Manager    II. Config User Defined Sites  Add this url to "User ...
  • SDK接入安卓

    千次阅读 2017-11-29 18:34:28
     通常一款游戏开发到后期,一般都会涉及到第三方SDK的接入与集成,对于不熟悉SDK接入的同学来说,接SDK每次都是云里雾里,而熟悉SDK接入的同学又觉得不断地重复做接入SDK工作这样没有成就感,太尼玛无聊了(Android...
  • 上一篇文章,我们从类的抽象,大致梳理了一下U8Server所要完成的工作。大的方向上,U8Server需要实现统一的用户登录认证,和支付中心两大功能。更深入的细节,U8Server需要完成以下功能: 游戏管理:查询游戏...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 24,583
精华内容 9,833
关键字:

sdk中获取编辑框