This commit is contained in:
Vindicator645 2018-12-29 18:10:14 +08:00
parent ff00d95c44
commit 6e23bb2270
2 changed files with 5 additions and 0 deletions

View File

@ -17,6 +17,9 @@
### 按照WAV格式标准读取WAV格式文件 ### 按照WAV格式标准读取WAV格式文件
按照WAV的格式标准以二进制的方式读取目标文件并能够自动识别是否为WAV格式的文件不依赖文件名。支持非压缩PCM格式的数据。在读取一个WAV文件会将该文件抽象成一个WAV对象内部包含有该文件的相关信息如文件大小是否为PCM数据声道比特率每次采样信息的大小等等并自动计算出音乐持续时间。该类能够根据声道信息与bit大小自动调整数据的储存方式以供用户使用。该类以一次性读入然后用数据包分块取用的方式取用数据。并且用户能够通过每个数据包中数据持续的时间来调整每次取出的数据包的大小。极大地方便了后续的开发操作让程序的可扩展性大大增强。 按照WAV的格式标准以二进制的方式读取目标文件并能够自动识别是否为WAV格式的文件不依赖文件名。支持非压缩PCM格式的数据。在读取一个WAV文件会将该文件抽象成一个WAV对象内部包含有该文件的相关信息如文件大小是否为PCM数据声道比特率每次采样信息的大小等等并自动计算出音乐持续时间。该类能够根据声道信息与bit大小自动调整数据的储存方式以供用户使用。该类以一次性读入然后用数据包分块取用的方式取用数据。并且用户能够通过每个数据包中数据持续的时间来调整每次取出的数据包的大小。极大地方便了后续的开发操作让程序的可扩展性大大增强。
### 将声音的响度数字信号计算转化为颜色信号 ### 将声音的响度数字信号计算转化为颜色信号
1.当前按照左声道的音量变化率越高,则红色值越高,当右声道的音量变化率越高,输出的蓝色值越高,;音量的响度越大,绿色越高。
2.另外一个方案是用傅里叶变换分解声音频谱将每一种频率的声音按照频率对应到光谱上最后将所有谱线合成成RGB颜色。这个方案在unused文件夹里尚未启用。
### 将GLUT相关函数再次封装成类进行便捷整体绘图操作 ### 将GLUT相关函数再次封装成类进行便捷整体绘图操作
GLUT的操作函数很方便但是其框架设计上不太符合面向对象的程序设计方式。所以该程序对于GLUT函数库的相关窗体创建与绘图的常用函数构建了专门的类。通过将窗体抽象成Window类图形抽象成Shape类控件抽象成Menu类并通过类中封装的相关数据方法来对图形界面进行管理。而该工具的像素块就是继承Shape类所构建的独立的Field类。这样的抽象继承结构对于以后的界面拓展丰富后的管理工作有极大的效率提高作用。并且可以很方便将现有开发后的控件的移植到其他工具中使用。 GLUT的操作函数很方便但是其框架设计上不太符合面向对象的程序设计方式。所以该程序对于GLUT函数库的相关窗体创建与绘图的常用函数构建了专门的类。通过将窗体抽象成Window类图形抽象成Shape类控件抽象成Menu类并通过类中封装的相关数据方法来对图形界面进行管理。而该工具的像素块就是继承Shape类所构建的独立的Field类。这样的抽象继承结构对于以后的界面拓展丰富后的管理工作有极大的效率提高作用。并且可以很方便将现有开发后的控件的移植到其他工具中使用。

View File

@ -5,7 +5,9 @@
## 对HSV.hppHSV.cpp内函数的分析 ## 对HSV.hppHSV.cpp内函数的分析
1.此类用于实现RGB与HSV的相互转化以便能通过改变S饱和度来调节画面的鲜艳程度。 1.此类用于实现RGB与HSV的相互转化以便能通过改变S饱和度来调节画面的鲜艳程度。
2.函数hsv2rgb用来将hsv值转化回rgb。 2.函数hsv2rgb用来将hsv值转化回rgb。
3.函数rgb2hsv用来将rgb转化到hsv。 3.函数rgb2hsv用来将rgb转化到hsv。
## 对Get_RGB类的分析 ## 对Get_RGB类的分析