自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

大坡3D软件开发

自主操作系统和CPU--用软件和芯片来改变世界

  • 博客(2930)
  • 资源 (44)
  • 收藏
  • 关注

原创 鸿蒙OS应用开发的开发环境

当你想投入到这个生态系统里的时候,首先是使用它,这是最方便的方法,比如买一台带有鸿蒙系统的手机,并且不断地使用它,提出你自己的建议,让它进行完善和改进。在这里主要开始学习开发鸿蒙系统的应用,由于鸿蒙系统发布的时间不是很久,当然是相对安卓和IOS来说,因此它是一个全新的系统,并且致力于创建一种更方便的软件方式,它引入不同于以往的软件开发语言,以及不同的界面接口。这时候,就可以看到应用的名称,包的名称,保存的位置,编译的SDK版本,运行模式,是否可视化编辑,语言,兼容性API,设备类型。

2023-12-07 12:31:53 529

原创 鸿蒙应用开发之OpenGL应用和X组件8

layout(location = 0),叫做布局限定符,目的是为了方便给变量提供数据,layout()的还有其他的选项,在这里location相当于设定了变量在着色器程序中的访问位置。还需要注意的是,变量名不能以 gl_ 作为前缀,这个是 GLSL 保留的前缀,用于 GLSL 的内部变量。gl_Position vec4 输出属性,变换后的顶点位置,用于后面的裁剪等操作,所有的顶点着色器都必须写这个值。gl_MultiTexColor vec4 输入属性,表示的是顶点的第n个纹理的坐标。

2024-05-28 10:11:25 23

原创 鸿蒙应用开发之OpenGL应用和X组件7

在前面介绍了X组件调用函数来初始化,初始化之后,就需要调用EGL函数来初始化OpenGL的环境,才能使用OpenGL函数来绘制图形。调用 EGLboolean eglInitialize(EGLDisplay dpy, EGLint *major, EGLint *minor),该函数会进行一些内部初始化工作,并传回EGL版本号(major.minor)。保存窗口的宽度和高度,以便后面使用。这段代码开始进行初始化EGL,主要是调用eglInitialize函数,然后获取OpenGL的版本号。

2024-05-27 12:12:03 37

原创 鸿蒙应用开发之OpenGL应用和X组件6

接着重要的功能,就是设置X组件回调函数对象m_callback,它的4个调函数指针,都设置好之后,就可以给X组件进行处理了。前面已经分析怎么样注册X组件的回调函数,然后这些回调函数就可以在X组件合适的时机进行回调,就可以让C++的代码在合适的时间做合适的事情。在这段代码,先从容器里查找是否在存在这个ID的X组件插件,如果没有就会创建一个PluginRender对象,这个对象负责注册回调对象维护,并且管理显示图像的对象。在这个回调函数里,传入两个参数,第一个参数component是一个X组件的指针;

2024-05-24 12:24:12 234

原创 鸿蒙应用开发之OpenGL应用和X组件5

这段代码就通过NAPI的函数napi_get_named_property获取X组件的通用指针,它定义名称为OH_NATIVE_XCOMPONENT_OBJ,这是X组件在C++端的名称。这段代码就是使用获得的X组件的指针,然后通过函数OH_NativeXComponent_GetXComponentId来获取X组件的ID,这个ID保存在idStr数组里,给后面使用。因此,我们需要注册C++层的回调函数OnSurfaceCreated,这样当X组件创建成功之后调用我们在C++里的代码。

2024-05-22 11:59:36 34

原创 鸿蒙应用开发之OpenGL应用和X组件4

接着就是做主要的事情,映射库的导出方法getContext,这是在ArkTS里看到的方法,在C++里实际上是函数PluginManager::GetContext,这个函数也是一个静态的全局函数,可以任何地方调用,并且这个函数里的访问变量也是全局的。这行代码干的活比较多,首先要拿到X组件在C++里的指针,然后绑定这个X组件和ID关系,并且注册X组件的回调函数,这样才能根据X组件的生命周期来处理界面,最后还需要导出X组件交互函数,以便用户在X组件点击时触发C++层的代码运行。接着查找GLES库。

2024-05-21 10:39:18 23

原创 鸿蒙应用开发之OpenGL应用和X组件3

这些函数都是根据APP生命周期来调用库里的函数,这样库里的函数就可以根据这些函数来安排不同的代码执行了,在这个例子里基本上就是打印一个日志输出,没有什么实质内容。前面已经分析应用生命周期和页面生命周期,所以我们需要在OpenGL开发的库里区分这两个状态,以便在不同的状态下导出不同的函数给TS侧使用。然后返回一个任何类型的对象。上面页面的生命周期的调用顺序流程图,根据流程图,就可以在将要显示的函数加载资源文件,以便在显示出来时就能画到界面上。这样在C++开发的代码库里,就可以根据这些函数来执行需要的代码。

2024-05-20 11:49:01 27

原创 鸿蒙应用开发之OpenGL应用和X组件2

紧跟着下来onLoad方法设置加载XComponent组件成功之后获取这个组件对应的对象,保存在变量this.xComponentContext,这样后面就可以调用它为更新X组件绘制的内容,达到交互的目的。在这里要注意的是显示文本串是从资源里加载,并且资源里有中英资源,可以根据系统的语言来自动切换不同的语言显示的。在X组件里又设置了这个库的名称,那么在加载X组件时,就会自动要求系统加载这个库,当这个库加载完成之后,就会调用。从上面可知,应用生命周期是大于页面生命周期的,所以需要区分所处状态。

2024-05-20 10:15:43 95

原创 鸿蒙应用开发之OpenGL应用和X组件1

前面学习调用C++开发的代码库,这样可以加入C++语言来开发鸿蒙应用,加快对一些要求运算速度比较高的场合,也提高对旧的项目移植性。前面的C++语言开发的应用,只是简单的调用功能计算,并没有C++代码来操作界面的要求,并且没有使用复杂的C++的功能,这里不仅要在C++里输出图形到界面,并且还是采用OpenGL来开发,OpenGL就是一个非常复杂的库,以及不同的编程习惯。从上图我们就可以看到整个软件的基本组成,与前面学习的C++开发代码库是一样的,只是不同的文件,以及增加X组件的应用。

2024-05-17 12:12:46 26

原创 鸿蒙应用开发之调用C++开发代码库4

在这里调用函数napi_create_double,它是用来从C++类型double创建一个JS类型对象返回,并且把返回结果保存在变量napiResult,由于napi_value是指针,那么&napiResult就是指向指针的指针。返回值采用napi_value类型定义,napi_value类型是一个指针类型,并且是一个通用的指针类型,其实它就是相当于void*类型,可以保存任何类型的数值指针。接着定义它返回napi_value类型,这个类型是NAPI的通用类型,可以表示数字、字符串和布尔值等。

2024-05-16 12:14:01 46

原创 鸿蒙应用开发之调用C++开发代码库3

extern "C"的作用就是声明这个函数是以C语言接口方式导出,方便JS引擎加载模块时,可以按C的方式执行函数RegisterModule,RegisterModule的作用是把本模块的信息demoModule放到引擎的调用队列里,以便后面TS代码执行时去查找队列。"myHypot"是声明在文件index.d.ts的函数,也就是JS引擎可以识别的函数,而MyHypot是C++的函数,这中间的转换就靠NAPI框架转换了。我们从JS调用框架图就知道,调用主要分为三层,JS开发的C++模块、框架层、JS引擎。

2024-05-16 09:03:16 48

原创 鸿蒙应用开发之调用C++开发代码库2

是C++库,版本为10.0.1,libc++ 是C++标准库的一种实现,C++11、C++14标准已完全支持,C++17和C++20标准正在完善。接着下来先分析C++部分的代码,主要关注点是C++代码要怎么样编写,才能被ArkTS代码调用,它们之间的数据类型又是怎么样转换的。有了这两个文件,就可以知道C++代码生成库的名称为libhello.so,并且符合index.d.ts类型导出的动态连接库。在这里定义了加载C++库的名称为libhello.so,同时指明类型声明在文件./index.d.ts里。

2024-05-15 10:11:50 270

原创 鸿蒙应用开发之调用C++开发代码库1

由于鸿蒙应用主要基于ArkTS开发,主要使用的语言是ETS,也就是JS脚本方式来开发,这与C++语言开发是不同的语言,这样就不能直接相互调用,因为不同的语言使用不同的数据结构,不同的调用方式,不同的运行环境。因为C++语言开发的底层库已经比较长的时间,即使不考虑性能的情况之下,也需要很大的工作量来重写和测试,所以ArkTS一定需要能调用C++代码的能力,这样才能方便旧的项目,或者性能要求比较高的项目进行开发。简单起见,先来学习一个鸿蒙代码库提供的一个例子,这样杜绝各种创建项目的不同,以及填写不同的参数。

2024-05-14 17:08:14 192

原创 鸿蒙应用开发之Web组件7

前面学习了Web组件选择文件文件上传的处理,现在来学习怎么样在一个Web容器里,再打开一个窗口来显示内容,相当于弹出另一个Web组件窗口,其实相当于两个Web组件同时在操作的方式。要想让Web组件运行上述的网页,就需要处理打开窗口的功能。”,当我们点击这个按钮之后,就需要Web组件来处理,并且打开一个窗口来显示。需要创建一个新的Web组件控制器WebviewController,同时创建一个新的Web组件来显示。这个是子窗口显示的Web组件,在前面介绍的窗口事件函数里响应处理,调用它来创建子窗口。

2024-05-13 13:24:40 48

原创 鸿蒙应用开发之Web组件6

前面学习怎么样设置Web界面显示不同的颜色配置,这种适合不同时间来设置,比如白天要亮一些,晚上要暗一些。现在来学习使用Web组件选择文件文件列表的功能。由于这个方法在模拟器里运行不成功,需要使用真实手机来测试,所以需要连接手机。第三步返回设置页面,搜索“开发人员选项”,然后打开“开发人员选项”。后面就可以根据自己的需要来设置开发人员选项了。这样就可以使用真机来调试APP了。第四步把开发选项打开。

2024-04-23 11:56:31 69

原创 鸿蒙应用开发之Web组件5

通过darkMode()接口可以配置不同的深色模式,WebDarkMode.Off模式表示关闭深色模式。WebDarkMode.On表示开启深色模式,并且深色模式跟随前端页面。WebDarkMode.Auto表示开启深色模式,并且深色模式跟随系统。前面学习了Web加载程序内置的HTML数据来显示,这样可以加速界面的显示,接着下来学习怎么样设置Web组件显示界面的背景配色。有了这个接口,就可以设置Web为不同的颜色。可以看到上面界面全部变成黑色背景了。一般情况下,Web组件是采用默认跟随系统设置的背景颜色。

2024-04-22 18:18:15 63

原创 鸿蒙应用开发之Web组件4

前面学习了Web组件加载本地的文件数据,这样很方便不需要网络的界面显示,或者提示类的界面,比如软件使用说明书,又比如软件使用协议,又或者固定显示的长文本数据。如果有多个文件,也可以通过按钮来切换不同的文件显示。如果文本比较短小的HTML数据,放到文件里,再通过文件显示,就会多了一个访问文件的过程,这样导致显示数据有点慢,面对这样的需求又有什么样的解决方案呢?这样就可以快速地实现程序内嵌数据的快速显示。下面就来通过例子来演示这个接口的使用。有了这个接口,就轻而易举了。

2024-04-22 10:36:02 195

原创 鸿蒙应用开发之Web组件3

比如很多显示的内容,可以制作网页的文件格式,然后直接使用它来显示,就可以减少界面的制作。另外,当手机没有网络的时候,如果想从网络上获取内容就会失败,这时候可以使用本地的网页内容来代替。说明: 在引用资源类型时,注意其数据类型要与属性方法本身的类型一致,例如某个属性方法支持设置string | Resource,那么在使用Resource引用类型时,其数据类型也应当为string。由于显示本地的网页,不需要网络的权限,这时候APP可以不用设置网络的权限。在这里就采取最后的方式来加载本地的HTML文件。

2024-04-20 11:15:06 58

原创 鸿蒙应用开发之Web组件2

可见,通过上述的函数,就可以切换不同的网页内容显示了。这种方式在很多APP里非常有用的,因为可以把网页上内容放到自己服务器上,可以每天做不同的修改,特别广告显示,或者不断更新用户查看的内容,提醒等等。前面学习了加载Web组件,在使用这个组件之前需要设置网络加载的权限,否则是不能使用Web组件,所以大家在使用这个组件时,需要仔细检查是否有设置这个权限。如果Web组件只是默认加载一次连接,就可以使用构造时传入的参数来决定,如果想不断地变换不同的网络地址,就需要使用这个函数loadUrl()来解决了。

2024-04-18 18:31:40 85

原创 鸿蒙应用开发之Web组件1

我们知道目前已经进入网络3.0时代,之前经历了1.0的文本时代,2.0的多媒体时代,现在进入全面交互时代。前面学习向导组件,现在来学习Web组件,这个组件也是一个比较复杂的组件,也是一个功能很强的组件,毕竟它是一个浏览器功能相当的组件,可以显示网页内容。总共有两个参数,第一个参数src是打开网页的地址,或以是网上的地址,也可以本地的地址;如果比较熟悉的人员,也可以直接编辑json文件,但是要小心输入的字符串资源,有可能编译不通过。点击第一步的按钮,就可以可视化,这样找到请求的权限,再进行添加。

2024-04-18 10:10:54 467

原创 鸿蒙应用开发之向导组件

向导组件也是一个常用的组件,因为很多工作流程都需程序化,引导用户一步一步地进行,这样才能让用户明白地填写相应参数,选择合适的内容。这时候就会切换到第二页显示,这时下面有可以向前一页导航的按钮,也有向后一页导航的按钮。在这里发现每一项都需要重复设置一些相同的类型属性,那么能不能把这些设置提出来?还可以修改每一页的显示状态,因为根据用户的选择,有可能跳过一些页面的设置。在后面添加一个复合语句来定义所有页面的内容,这样使用起来非常方便。如果发现填写出错,就可以点击返回按钮,再次进行修改。在这里演法了扩展装饰器。

2024-04-17 10:13:39 58

原创 鸿蒙应用开发之滑动选择组件

可以用手滑动上面的滑块,就可以调节对应的数字。滑动的时候可以设备滑动的步长,默认的步长是1,意思就是说最小调整的单位为1。前面学习了下拉选择菜单组件,现在来学习滑动选择组件,它是提供快速调节设置值,如音量调节、亮度调节等应用场景。也就是说,这个组件可以通过滑动条来设置对应的数值,而不需要用户手动输入数字。从API version 9开始,该接口支持在ArkTS卡片中使用。从API version 9开始,该接口支持在ArkTS卡片中使用。从API version 9开始,该接口支持在ArkTS卡片中使用。

2024-04-16 18:23:13 247

原创 鸿蒙应用开发之下拉菜单选择组件

Select([{ value: '菜单1', icon: $r('app.media.demo3') },由于它是下拉式的菜单,所以候选的内容建议不要太多,否则会滚动比较麻烦。{ value: '菜单4', icon: $r('app.media.demo3') }]){ value: '菜单2', icon: $r('app.media.demo3') },{ value: '菜单3', icon: $r('app.media.demo3') },设置下拉菜单初始选项的索引,第一项的索引为0。

2024-04-16 11:44:57 153

原创 鸿蒙应用开发之搜索框组件

基上提供了输入内容变化时立即获取的事件函数onChange,当输入完成之后用户点击搜索时事件函数onSubmit。这个搜索框组件,其实比较像探索网站的输入,可以输入内容,并且带有一个搜索的按钮。不过,这个组件还是缺少了一个搜索输入历史提示,或者说是输入内容动态提示的功能,这个还需要开发人员自己来完善这个功能。它还提供了一个控制器可以控制输入光标的位置,比如你输入了一串文本,突然想修改中间某一段,那么就需要移动到这个字符位置,然后再执行删除和修改的工作。有了这些内容,就可以自由地创建搜索框组件了。

2024-04-15 18:02:48 128

原创 鸿蒙应用开发之ScrollBar组件

由于手机的屏幕过小,那么显示的内容总会显示不下来,这时候肯定就会想到怎么样滚动显示了。从上图看到右边有一条滚动条显示,不过这个滚动条只是用来显示当前位置和全局内容多少,并不能执行滚动的操作,不像PC上的滚动条上点击之后会移动到相就的位置。滚动条的布局,有两个方向一个是纵向,一个横向。这里传入了控制器,并且定义为纵向布局。

2024-04-15 10:58:24 190

原创 Blender表面细分的操作

在使用Blender的过程中,刚开始创建的模型,都会比较少面,这样操作起来比较流畅,减少电脑的计算量,当设计快要完成时,就会增加表面细分,这样更加圆滑,看起来更加顺眼。创建物体的快捷键是Shift + A键,细分是采用Ctrl + 数字(0,1,2,3,4,...)。从上图可以看到,有一些表面会比较大,棱角很多。这时候你就会想到表面细分,那么怎么样操作呢?所有上面的操作需要先选中物体,才能操作。这样就可以通过界面上使用鼠标进行操作了。这时候就已经很细小的表面了。这样显然没有快捷键方便了。

2024-04-13 23:06:24 296

原创 鸿蒙应用开发之富文本(RichText)组件

这是一个段落。'这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字这是一段文字';这是一个在div元素中的标题。">h1下划线' +">h1斜体' +这个一个段落这是一个段落

2024-04-12 19:22:35 130

原创 鸿蒙应用 开发之 评分组件

现在的用户喜欢互动的APP,因为现在是商品过剩的时代,大家都没有办法去研究每一个商品的细节,每一个商品的好与差。那么就会有一个评价系统,这样大家通过投票来决定那一个商品的好与差,这样大家就会有一个快速选择的方法,这样就会方便大家,节省大家的选择成本。既然大家都需要进行评分,那么就要实现一个评分组件的功能,让大家方便选择评分,并且查看评分。参数indicator是用来是否可以更改评分,如果设置true时,不能更改分值,只作为显示作用。可以看到评分,一般显示为5个星星,当用户点击那个星星,就会评分在那里。

2024-04-12 10:39:50 52

原创 鸿蒙应用开发之显示二维码组件

在代码编制上巧妙地利用构成计算机内部逻辑基础的“0”、“1”比特流的概念,使用若干个与二进制相对应的几何形体来表示文字数值信息,通过图象输入设备或光电扫描设备自动识读以实现信息自动处理:它具有条码技术的一些共性:每种码制有其特定的字符集;这样对于用户来说,是一种糟糕体验,因为要记得太多,输入太多。又比如当别人向你分享一个网站时,只需要显示一个二维码即可,这样由手机扫码解决,又方便又不用记,准确性又好。二维码又称二维条码,常见的二维码为QR Code,QR全称Quick Response,是一种编码方式。

2024-04-11 10:14:30 302

原创 鸿蒙应用开发之图案密码锁组件

前面学习了导航组件,现在来学习另一个密码设置和验证组件,这种组件比较常用。早前的密码都是输入数字,没有滑动输入九宫格的密码。采用这种密码,一般情况下是不用记住数字,只要记住图案就行了。使用这个数组一般有两种状态,一种是设置密码的时候,一种是验证密码的时候。最后就是作为密码组件一定是获取用户输入的密码,这个功能又是从哪里得到呢?在这个事件回调函数里,我们就可以得到用户输入的密码,其实就是一串数字。当触发上面代码运行,就会把密码重置,需要重新设置一个新的图案密码。有了上面的理解,就可以进行代码编写了。

2024-04-10 18:49:46 228

原创 鸿蒙应用开发之导航组件NavRouter和NavDestination

组件Navigation是父组件,接着就是包含子组件NavRouter,而这个子组件又包含着子组件NavDestination。相当于点击组件NavRouter时,就会自动触发显示组件NavDestination的内容。整个例子代码比较简单,就是布局整个界面,所有的事件响应函数都不用写,就实现了对应的界面显示和切换。采用导航组件时,需注意必须包含两个NavRouter组件或两个以上,才能正确执行。前面学习了导航总组件,但还是有两个子导航组件,这样更加方便开发导航类型的界面。这点要特别注意的,否则会出错。

2024-04-09 10:54:27 88

原创 2024年,程序员如何搞副业?

所以像这样的项目,就需要在一线城市,这样有众多的小公司,可以源源不断地接单开发,并且在现场部署。这种技术在不同的公司都有需求,如果小公司去采购一个这样产品会比较花钱,不如请一个在大厂里专门从视这方面研究的程序员,把一些开源的视频通讯包装成一个小组件给小公司使用。然而,许多程序员并不满足于仅仅在一家公司工作,他们渴望通过副业来实现个人价值的最大化,增加收入,甚至探索自己的创业梦想。又或者软件是免费的,但是这个软件上带很多应用组件,这些组件是需要付费的,有点像苹果的应用商店。在线教育,一般就是视频上课。

2024-04-08 17:59:54 548

原创 stable-diffusion-webui怎么样增加自己训练的LoRA模型?

有了这个插件,你就可以把在kohya ss训练的LoRA模型放到stable-diffusion-webui目录下面了。在这里点击Enable按钮,再在Model1里选择自己名称的LoRA模型,就可以应用到自己训练的成果了。他只是介绍放到这个目录,他没有告诉我这个目录怎么样来的,因为我在同样的位置上没有这个目录。后来再不断地研究各种教程,就是没有发现这个功能,无意间发现有一个人贴了一张图片,不怕笑话,我曾经为了找这个功能,居然搞了半天时间,结果还没有搞定。最终你会发现上面最后一行增加了这个插件。

2024-04-08 10:54:07 769

原创 stable-diffusion-webui安装教程

又比如直接使用最新版本的stable-diffusion-webui,在我的N卡又不能工作,因为我这里使用的是RTX3060,所以不能直使用高版本的torch库,要使用低版本的库,才能支持使用N卡。从网上看到很多stable-diffusion-webui的安装,其实这些都是过时的信息,如果按着它们一步一步来安装,并不能正常运行,因为很多信息过时了,比如。这时候,我也不能落后,要紧跟上时代的步伐,那么也来学习一下stable-diffusion的使用,这样也算多一项对技术的认识,提高对AI的认知。

2024-04-07 19:08:28 319

原创 Blender怎么样启动默认移动和Cavity效果

看到上图里出现移动的坐标符号,省略了去左边菜单再操作一遍的点击。这样可以减少不少操作。比如默认地设置blender打开时,就是移动物体,这样怎么样设置的呢?到这里就学会怎么设置默认的物体移动,以及打开Cavity的效果显示。左边的图是没有打开Cavity的效果,右边是打开之后的效果。在使用Blender的过程中,有一些特殊的技巧很重要。右边看起来更加有立体感一些。

2024-04-05 09:46:33 812

原创 鸿蒙应用开发之导航组件

前面学习了走马灯组件,对于太长的文本进行滚动显示,现在来学习导航组件,它其实也是把不能同一屏显示的内容进行分屏显示,主要通过工具条、导航栏来切换不同的内容显示。导航组件在复杂的应用里会经常使用,因为这样方便用户操作。如果定义为字符串,就是表示不同的分页采用同一个标题不能改变,这里采用Builder函数,就可以根据不同的页面来改变不同的标题显示。Navigation组件一般作为Page页面的根容器,通过属性设置来展示页面的标题栏、工具栏、导航栏等。首先我们要来设置导航分页的标题显示,不同分页显示不同的标题。

2024-04-03 10:32:36 75

原创 鸿蒙应用开发之文本走马灯组件

前面学习了多图片来组合的动画组件,这样方便大家可以把图片在小面积区域进行多个图片查看,也提供了一种动态动画的功能。但是这个组件只是基于图片的动画,如果想基于文本的动画效果呢,比如一串文本很长,但是有于手机显示的区域有限,那么没有办法全部显示出来,一般就采用滚动的方式来显示。如果滚动的方式使用自动化的滚动,那么就可以引出一个走马灯组件了。在后面演示的例子里,由于程序不是一启动就开始走动,所以增加一个按钮,以便用户可以测试这个功能。有了这些参数的说明,就可以准确地使用这些参数。因此增加一个按钮的代码。

2024-04-01 12:23:50 74

原创 鸿蒙OS应用开发之多图片动画组件

前面终于把图片显示组件学习完成了,因为图片显示是比较常用的组件,常常需要把图片当作界面元素来显示出来。图片组件可以显示GIF动画,这样对于一直播放,或者方便制作成GIF动画的应用是没有问题的。不过,在这里也提供了一个基于普通PNG图片的动画,或者叫做帧动画。也就是把多张PNG图片添加到这个组件,然后就可以设置播放、暂停、重复播放等动作,这是一个可以自己控制动画运转过程的方法。这个设置了动画组件播放的资数,默认值是只播放一次。上面的例子只使用了string这个参数就可以从资源里输入图片,其它参数都没有设置。

2024-03-18 11:09:12 113

原创 OpenHarmony4.0对RK3566的烧写过程

前面已经编译的过程搞了比较长的时间,因为遇到了不少问题,老是编译出错,后来经过努力还是编译成功了。然后点击最右边空白那一行,修改为自己位置的文件,把上面编译出来的文件设置到这里,由于这个板出厂后,都带有系统,所以采用LOADER加载即可。这时候,就可以加载磁盘分区的配置文件:config.cfg。驱动安装,在设备管理器中选中设备点右键加载对应的驱动。有了这些文件,就可以对开发板进行烧录进去。最后点击执行,就会烧写入去了。最后运行就像这个图片。

2024-03-17 12:32:16 278

原创 鸿蒙OS应用开发之显示图片组件12

前面学习了图片简单滤镜处理,接着下来对图片组件的事件响应进行学习。因为加载图片时,大多数都是采用异步的方式来加载图片,这样当图片加载失败时就无法及时知道,需要查看出错信息。这里采用syncLoad方法来设置为同步加载图片,不过当图片比较大,或者网络上加载图片时,就会导致页面卡死,用户体验不好。因此常常采用异步的方式比较好,这时就需要采用两个事件来通知加载成功或失败。这两个事件是:onComplete事件和onError事件。

2024-03-12 10:31:56 113

python抓取天气并分析 实例源码

Python代码抓取获取天气预报信息源码讲解。这是一个用Python编写抓取天气预报的代码示例,用python写天气查询软件程序很简单。这段代码可以获取当地的天气和、任意城市的天气预报,原理是根据url找到网站截取相应的数据展现。 python抓取广州天气并分析 实例源码

2017-08-28

wix3.11版本安装工具

wix3.11版本安装工具

2017-06-19

WiX3.10版本安装工具

WiX3.10版本安装工具

2017-06-19

GOOGLE的TPU论文

GOOGLE公开TPU的论文

2017-04-06

深度强化学习论文

DQN的论文

2017-03-17

书《深度学习》

2015年,深度学习三大牛Yann LeCun、Yoshua Bengio和Geoffrey Hinton在最新的《Nature》杂志首次合作的发表综述文章《Deep Learning》。本文为该综述文章的中文译文,深入浅出地介绍了深度学习的基本原理,核心优势和未来展望。

2017-03-13

手写识别的训练数据

MNIST训练数据

2017-03-10

俄罗斯方块游戏开发

俄罗斯方块游戏开发培训里的可执行文件,让大家可以查看相关的结果。以便是否参加培训。

2016-11-30

duilib界面库20161116

更新为VC2015编译的duilib,持续重构代码,使用最新的C++14的语法。

2016-11-16

duilib界面库20161017

duilib 界面库

2016-10-17

duilib界面库

duilib界面库,长期维护的界面库,在WIN10和VS2012上编译和开发、测试通过。

2016-10-10

国产8051模拟器

一款国产的8051模拟器(全部源代码) 本软件是一款8051模拟器,他的特点是可以模拟多处理器平台,在简单的多工作区间的界面上可以很方便的模拟8051处理器, 最重要的是这个单片机系统可以完全由你自己订制,你甚至可以随意创建自己的多单片机系统,什么SMP 基于串行总线的分布式系统,集群式系统,只要你能想到的,都可以办到,充分发挥你的想象力。现在1.0版本已经基本体现出了这种思想,在以后的版本中将使这一特性变的 更加强大!

2016-09-10

mysql开发管理工具

mysql数据库的开发管理工具。

2016-07-12

mysql-5.5.50-64

windows下的64位MYSQL的版本。

2016-07-10

python-3.4.4

python 3.4的32位的windows版本

2016-07-01

tinyxml2配套源码

在软件开发过程中,为了使软件有灵活的配置,特别像界面这样的配置,同时为了减轻重复开发的任务,需要把客户的个性化需求可以通过配置文件来修改,比如像界面的颜色配置,就可通过配置文件来修改,这时就可以采用XML文件来保存和修改这些参数配置。在不同软件之间进行通讯时,也可以采用XML协议来进行数据交换,特别像WEB服务的调用时,采用传送XML格式是基本的数据交换方式。基于这些任务的需求,需要软件开发人员会在C++里使用xml格式。

2016-06-27

protoc2.5执行文件

protoc执行文件

2016-06-24

protobuf 2.5

protobuf 2.5库代码和工具

2016-06-24

selenium的浏览器驱动

目前有很多的银行网站,还是以IE为标准的浏览器,因此这里主要采用IE为测试的例子,在这里可以下载不同版本的浏览器驱动,可以是32位的,也可以是64位的,根据自己的需要下载不同的版本。在本文章里,下载的是2.35.3版本:IEDriverServer.exe,把它放在目录f:\temp\里面。

2016-06-14

WIX制作C#应用程序安装包

WIX制作C#应用程序安装包

2016-05-26

开源鸿蒙4.0不能进入桌面的补丁

系统启动后进入不到桌面 当前系统有 bug,当出现此种问题时,需要执行 killall com.ohos.launcher。 里面的hap文件替换applications\standard\hap\下的同名文件。 目录 oh/applications/standard/hap

2024-03-17

开源鸿蒙 4.0 RK3566开发板配置

开源鸿蒙 4.0 RK3566开发板配置 https://mysoft.blog.csdn.net/article/details/136779805

2024-03-17

使用WeifenLuo.WinFormsUI.Docking的简单例子

使用WeifenLuo.WinFormsUI.Docking的简单例子,演示了简单地使用这个窗口布局库。

2021-12-10

hui_test_form.rar

H-ui.admin_v3.1.3.1的学习和测试例子,前端代码的经典。

2021-08-17

python_example.rar

pybind11的安装和编译的例子,可以快速地生成安装包。

2021-06-24

Mysql_20210615_1.rar

演示访问Mysql库的C++类库QTL

2021-06-15

TestSel1.rar

爬虫日记(28):scrapy使用中间件调用浏览器 相关代码

2021-03-29

ItemDemo_ua.rar

爬虫日记(25):Scrapy 中设置随机 User-Agent 二 的配套代码

2021-03-26

爬虫日记 Imgfn1.rar

爬虫日记(23):用scrapy快速地爬取蜂鸟网图片 相关的项目代码

2021-03-24

ImgDemo1.rar

爬虫日记(22):最简单地抓取图片,仅5行代码 相关配套代码。

2021-03-23

ItemDemo3.rar

爬虫日记(21):使用Pipeline模块写入文件二 的配套代码。

2021-03-23

ItemDemo2.rar

爬虫日记(20):使用Pipeline模块写入文件 的例子

2021-03-22

ItemDemo.rar

实例使用Item对象,适用初学者,《爬虫日记》配套源码。

2021-03-21

svm_hog_data.rar

使用到LineSVC里进行机器学习的训练数据,用来训练手写识别。 配套专栏文章使用,https://blog.csdn.net/caimouse/article/details/104599920。

2020-03-02

实现numpy的C++库扩展

使用C++来扩展numpy里的数据计算,这时就需要使用numpy的扩展库功能了,下面就来提供一个使用C++编写numpy扩展库的模板,这样大家就要减少很多弯路,减少跌入坑里的成本。这个扩展库的模板是从mahotas库里抽取出来的,经过最大化的简化,这样更加容易理解,更方便学习。

2019-11-24

STM32F407VET6工程模板

玩转STM32里文章配置的代码,这里学习的第一个工程代码,可以作为后继开发的模板工程。

2019-03-14

python web py入门配套源代码

python web py入门- 实现论坛,开发技术:后端采用Python+web.py+MySQL,前端采用HTML+CSS+JavaScript+jQuery+RequireJS。

2018-02-23

webpy演示例子1

webpy演示例子1, 用于配套文章相关资源。python web py入门(9)- 论坛首页的模板中模板 前面已经提到一个模板中可以套用另外一个模板,现在就来看看这个论坛基本布局模板是怎么样的?

2018-02-21

胶囊模型的代码

胶囊模型的代码在以下论文中使用: “Dynamic Routing between Capsules” by Sara Sabour, Nickolas Frosst, Geoffrey E. Hinton. 要求 TensorFlow ( 访问 http://www.tensorflow.org 了解如何安装和升级) NumPy (详见http://www.numpy.org/) GPU

2018-02-02

C++读写json文件

https://github.com/nlohmann/json 最好用的C++读写json库

2017-12-09

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除