大眼仔旭给大家分享一款轻量级的图像处理工具。
HornilStylePixPro中文注册版是一个拥有许多先进功能的图形编辑程序。
Stylepix是“样式图片”缩写,这意味着你的图片具有一个良好的风格。
HornilStylePixPro中文版图像处理工具直观的用户界面可以减少您的时间工作,为了编辑图片更好更快!HornilStylePixPro1.14中文注册版HornilStylePixPro中文版-简介HornilStylePixPro是一个拥有许多先进功能的图形编辑程序。
Stylepix是“样式图片”缩写,这意味着你的图片具有一个良好的风格。
HornilStylePix具有一个直观的用户界面,它是为了让控制选择功能更加简单、方便而设计的,即使你没有经验,你也一样可以学会如何编辑图片和对你的照片进行润色。
总之,HornilStylePix直观的用户界面可以减少您的时间工作,为了编辑图片更好更快!HornilStylePix–功能介绍1.节省时间与直观的用户界面HornilStylePix具有直观的用户界面。
它的目的是调整所选功能简单,方便。
即使你没有经验,你可以轻松地学习如何编辑图像和修饰您的照片。
因此,HornilStylePix直观的用户界面减少您的时间工作.为了更好的速度编辑,HornilStylePix的设计重点在于轻,功能强大。
HornilStylePix运行在更少的资源,如网络,书籍和笔记本电脑或虚拟机的图像处理功能全(VMware公司虚拟框,虚拟pc等)的环境。
我们一直在努力提高HornilStylePix性能。
便携式支持HornilStylePix是一个轻量级的。
一种便携式版本的运行HornilStylePix从可移动存储设备如USB闪存驱动器,闪存卡,或软盘(媒体)。
要安装HornilStylePix便携式,只要下载便携包,然后解压缩。
要启动HornilStylePix便携,只需双击您的便携dirveStylePix.exe文件插图2.浏览图片和幻灯片浏览图像工具可以让你轻松地探索开放前的影像图像。
你也可以打开,复制,删除和重命名的图像或目录。
幻灯片显示了选择的图片系列是在当前工作的全屏幕模式路径中。
支持的文件格式:JPEG,PNG,GIF等,tif格式和TGA,BMP和旅行商。
3.方便的工作环境有多个文件可以同时打开工作。
打开的图像安排在MDI(多文档界面)的容器标签。
MDI的支持级联,瓷砖垂直,水平平铺,设置图标的安排。
快速的图像切换:画布窗口之间切换,按Ctrl+Tab键。
如果你想回去,按Ctrl+Shift+Tab键。
如果按上述键,切换窗口被弹出。
然后,如果你想选择下一个画布,按Tab键。
4.多层及分组支持层是用于HornilStylePix分开的画布不同的对象。
图层就像是在另一个堆放胶片。
每一层都可以有不同的对象。
HornilStylePix支持四个对象类型(图像,文本和路径形状)和组对象。
该组对象包含其他对象。
此外,本集团可能包含其他组。
您可以使用层管理层次。
HornilStylePix支持混合模式是用于确定如何两层互相融合。
在StylePix,您可以使用21种混合模式。
5.选择工具HornilStylePixPro中文版图像处理工具支持区域如以下选择工具:自动范围选择和色彩范围选择工具方形,圆形选取工具多边形,套索选择工具您可以通过上述工具的区域选择具有以下模式:新,加,减和相交。
现有的区域选择可以进行修改操作:边界,扩展,合同和柔软性。
6.50种实用的图像过滤器。
颜色调节过滤器:自动水平,自动对比度,自动颜色平衡,级别,曲线,色彩平衡,亮度/对比度,色相/饱和度,伽玛校正,去色,反转,灰度,阈值,量化,直方图均化,色调分离。
锐化和模糊过滤器像素化滤镜渲染过滤器噪声滤波器扭曲过滤器卷积过滤器风格过滤器形态滤波器照片增强过滤器7.绘图工具HornilStylePixPro中文版图像处理工具支持各种绘图工具如画笔,橡皮擦,直线,曲线,喷雾,克隆刷,洪水填充,渐变填充,路径和形状。
8.文字工具文本工具允许你在画布上键入文本。
在文本字符串可以被修改,不仅在正常状态,但也不失旋转对象属性的状态。
9.变换和对齐转换工具允许你改变选择区域或对象。
只有当区域选择启用存在。
当变换工具被激活,可以旋转和调整大小。
10.加强和还原工具在提高工具允许您提高基础上的图像变暗,躲闪,模糊和锐化工具。
11.裁剪工具作物工具用于作物或剪辑图像。
它适用于所有的形象,有形及无形的层面。
12.多
2025/6/24 6:44:44 19.09MB 图像处理工具
1

《电子功用-挂屏一体式电脑》在现代科技日新月异的发展中,挂屏一体式电脑作为一种创新的电脑形态,已经逐渐进入人们的视野。
这种电脑设计将显示器与主机集成在一起,形成一种轻便、节省空间的解决方案,尤其适合于办公室、家庭以及教育等多场景应用。
挂屏一体式电脑的原理是将计算机硬件如处理器、内存、硬盘、显卡等部件整合到显示器的后部或边框内,通过高集成度的设计,减少了传统台式机的繁杂线缆和外部设备,使得整体外观更加简洁。
这种设计在追求高效办公和生活美学的当下,受到了广泛欢迎。
挂屏一体式电脑的核心组件包括:1. 处理器:作为电脑的大脑,选择高性能的处理器是确保电脑运行流畅的关键。
常见的品牌有Intel的Core i系列和AMD的Ryzen系列,它们提供了多核心多线程处理能力,能满足日常办公、娱乐甚至部分专业级的图形处理需求。
2. 内存:内存容量和速度直接影响电脑运行速度。
一般来说,8GB或以上内存可以满足大多数用户需求,对于需要处理大型软件的专业人士,16GB或32GB则更为合适。
3. 存储设备:一体机通常采用固态硬盘(SSD)作为主要存储介质,其读写速度远超传统的机械硬盘,大大提升了系统启动和程序加载速度。
4. 显示器:挂屏一体机的显示器通常是其一大亮点,一般配备高清分辨率的屏幕,有的还支持触控功能,为用户提供更加直观的操作体验。
同时,显示器的尺寸和色彩表现也是用户选择的重要依据。
5. 显卡:对于图形处理需求较高的用户,部分一体机配备了独立显卡,如NVIDIA的GeForce或AMD的Radeon系列,能够提供更好的游戏性能和视频编辑体验。
6. 接口:为了满足各种外设连接需求,挂屏一体式电脑通常配备多种接口,如USB 3.0、HDMI、DisplayPort等,方便用户扩展显示器、键盘、鼠标、打印机等设备。
7. 散热系统:由于内部空间有限,一体机的散热设计尤为重要。
一般采用静音风扇和优化的热管布局,确保在长时间使用下仍能保持良好的工作状态。
8. 软件支持:挂屏一体机通常预装Windows、macOS或Linux等操作系统,用户可以根据个人喜好和工作需求选择合适的操作系统。
挂屏一体式电脑以其独特的设计和高效的性能,成为了现代生活和工作中的一种理想选择。
无论是从外观设计、硬件配置还是使用便捷性,它都展现出了强大的竞争力。
随着技术的不断进步,我们可以期待更多创新的一体机产品出现在市场上,满足更多用户的个性化需求。
2025/6/19 13:19:07 401KB
1
1pxdeep,Bootstrap主题具有强大的色彩方案控制和平面设计1pxdeep:Bootstrap主题。
漫反射颜色。
Oozes平面。
版权所有雷克斯Riepe2013在Apache许可v2.0下许可的代码,CC3.0下的文档。
演示&文档使用Bootstrap的版本。
2025/6/18 18:22:09 8KB
1
第2章图形基础342.1笔和画刷342.1.1pen类342.1.2brush类352.2基本图形形状372.2.1点372.2.2直线和曲线372.2.3矩形、椭圆形和圆弧形402.2.4多边形422.3颜色442.4双倍缓存66第3章坐标系统和颜色变换693.1坐标系统693.2颜色变换77第二部分二维图形的基本算法第4章二维矩阵和变换824.1矩阵基础和变换824.2齐次坐标824.2.1齐次坐标中的缩放834.2.2齐次坐标中的平移834.2.3齐次坐标中的旋转844.2.4变换组合854.2.5c#中矩阵的定义864.2.6c#中的矩阵操作874.2.7c#中基本的矩阵变换894.3c#中图形对象的变换93基本变换934.4c#中的多对象变换1014.5文字变换105第5章二维线形图形1095.1序列化和反序列化及二维图形的基本框架1095.1.1c#序列化和反序列化1105.1.2二维图形的基本框架1135.2二维图形2485.2.1简单实例2485.2.2图例2785.2.3符号2895.2.4对数比例3025.2.5图形的修饰3085.3阶梯状图3165.4多y轴图318第6章特殊二维图形3276.1创建柱状图3276.1.1水平柱状图3276.1.2垂直柱状图3436.1.3图形充填柱状图3446.1.4重叠柱状图3466.2饼状图3486.3误差图3616.4股票图3676.4.1最高最低收盘价股票图3686.4.2最高最低开盘收盘价股票图3696.4.3最高最低价股票图3776.4.4k线图(阴阳烛图)3806.5面积图3896.6综合图390第三部分三维图形的相关知识及三维图形的实现第7章三维矩阵和变换3967.1三维数学概念3967.1.1操作三维对象3967.1.2数学结构3977.2三维中的基本矩阵和变换4027.2.1c#中三维点和矩阵的操作4037.2.2三维的基本变换4057.3方位角和仰角4347.4三维图形中的特殊坐标系统4397.4.1球坐标系统4407.4.2圆柱坐标系统4437.5特殊坐标中的实际应用4477.5.1球坐标示例4477.5.2双缓存463第8章三维图形4738.1三维图形基础4738.1.1point3和matrix3类4738.1.2chartstyle类4768.1.3坐标轴4968.1.4网格线4968.1.5标签4978.2三维折线图5038.3三维图形函数包5088.3.1chartstyle2d类5098.3.2point4类5158.3.3dataseries类5168.3.4chartfunctions类5218.3.5drawchart类5268.4曲面图的实现5418.4.1网格图5418.4.2幕布网格图5488.4.3瀑布网格图5518.4.4曲面图5538.5x-y平面色彩图5598.6轮廓图5648.6.1轮廓图的算法5648.6.2轮廓图的实现5648.7组合图5698.7.1三维体系中的x-y色彩图5708.7.2三维体系中的轮廓图5718.7.3网格-轮廓组合图5758.7.4曲面-轮廓组合图5768.7.5填充曲面-轮廓组合图5768.8三维柱状图577实现柱状图5778.9切片图591切片图的实现591第四部分c#中应用微软office的excel实现各种二维及三维图形第9章应用程序中的excel图表6009.1excel和c#间的互操作6009.2c#应用程序中的excel图表示例6029.2.1excel图表对象模型6029.2.2创建独立的excel图表6049.2.3创建嵌入式excel图表
2025/6/18 10:39:41 22.07MB C# 2D 3D 图形
1

这篇文档是针对小学一年级语文课程的教学方案,主题是《两只鸟蛋》这首儿童叙事诗。
教学目标主要包括三个方面:一是学生能认识并书写12个新字,如“蛋”、“取”等,以及掌握“听”、“唱”等6个字的书写;
二是通过朗诵和分析,理解诗歌中人物情感的变化,特别是对小鸟、生命和大自然的关爱;
三是培养学生的环保意识,让他们认识到鸟类是人类的朋友,需要爱护。
教学的重点在于识字和有感情地朗读、背诵诗歌。
为了达到这些目标,教师会采用多种教学策略。
例如,在导入环节,教师可能会播放关于鸟类的音乐或展示鸟蛋实物,引发学生对主题的兴趣。
在自学阶段,学生将自由阅读课文,标记难以读的字或句子,并互相评价读音。
接着,通过小组合作学习,学生将共同认读生字,分享识字方法。
此外,还会进行识字竞赛,增强学生的识字能力和参与度。
朗读部分,教师将引导学生深入理解诗歌内容。
例如,通过对“鸟蛋凉凉的”和“凉凉的鸟蛋”的对比,让学生理解词语的结构特点。
在学习每个小节时,学生会被鼓励进行角色扮演,模拟诗歌中人物的情感,从而更好地表达诗歌的情感色彩。
背诵环节,学生将在各种形式的活动中练习有感情地背诵诗歌。
同时,他们还将学习书写,通过观察和练习,理解汉字的构造和美观。
在第二课时,教师将进一步深化朗读练习,引导学生理解并表现诗中的情感变化。
此外,还会鼓励学生进行绘画创作,将诗歌内容转化为视觉艺术,以及收集关于鸟类的资料,培养他们的研究能力和环保意识。
学生将继续练习写字,通过自我描红和指导,提高书写技巧。
这份教案以生动有趣的方式教授学生识字、朗读、理解和表达,同时也注重培养学生的环保意识和创造力,是一份全面而富有教育意义的教学计划。
2025/6/15 20:14:35 86KB
1
简介:
在本文中,我们将深入探讨如何使用Qt框架与Video for Linux 2(V4L2)接口相结合,实现在Linux系统上显示摄像头视频流。
V4L2是Linux内核提供的一种标准接口,用于与视频捕获设备(如摄像头)进行交互,而Qt则是一个跨平台的C++图形用户界面应用程序开发框架。
我们需要了解V4L2的基本概念。
V4L2是V4L(Video4Linux)的升级版,提供了更多的功能,包括对多种视频格式的支持、多设备并发访问以及高级缓冲区管理。
它通过/dev/videoX设备节点与摄像头通信,X为设备编号。
接下来,我们要引入Qt。
Qt库提供了一套完整的图形用户界面工具,包括窗口、控件、布局等,以及多媒体模块(QMultimedia),可以方便地处理音频和视频数据。
在Qt中,我们可以通过QCamera类来操作摄像头,并使用QCameraViewfinder或QVideoWidget来显示视频流。
实现"v4l2摄像头显示视频流"的关键步骤如下:1. **初始化Qt环境**:确保系统已安装Qt库,然后创建一个Qt项目,选择合适的Qt版本和构建系统。
2. **导入相关模块**:在代码中导入必要的Qt模块,如`<QtWidgets>`(用于窗口和控件)、`<QCamera>`(摄像头操作)和`<QCameraViewfinder>`(显示视频流)。
3. **创建QCamera对象**:使用QCamera类创建一个摄像头对象,传入设备ID(通常是"/dev/video0")作为参数。
例如: ```cpp QCamera camera(new QCamera("/dev/video0", this)); ``` 如果需要检测可用摄像头,可以使用`QCameraInfo`类列出所有设备。
4. **设置视频源**:V4L2摄像头作为视频源,可以通过设置`QCamera::setCaptureDevice`方法来实现: ```cpp camera.setCaptureDevice(QCamera::CaptureDevice::DeviceType, "video0"); ```5. **启动相机**:在确保设置正确后,启动相机: ```cpp camera.start(); ```6. **显示视频流**:创建一个`QCameraViewfinder`实例并将其设置为相机的视图finder,然后将视图finder添加到窗口布局中: ```cpp QCameraViewfinder *viewfinder = new QCameraViewfinder(this); camera.setViewfinder(viewfinder); layout->addWidget(viewfinder); // 假设layout是窗口的布局 ```7. **处理错误和状态改变**:为QCamera对象添加信号连接,以便在出现错误或状态改变时进行相应的处理。
8. **关闭相机**:在应用退出或不再需要视频流时,记得停止并释放相机资源: ```cpp camera.stop(); delete camera; ```以上就是使用Qt结合V4L2显示摄像头视频流的基本步骤。
实际应用中可能还需要处理分辨率设置、帧率控制、色彩格式转换等更复杂的细节。
同时,为了保证兼容性和稳定性,可能需要针对不同的硬件和驱动进行适配。
此外,还可以利用QMediaPlayer和QVideoSurfaceFormat等类来实现自定义的视频播放器功能。
通过这些知识,开发者可以构建出功能丰富的摄像头应用,不仅限于简单的视频显示,还能进行录像、图像处理等多种功能。
对于嵌入式系统或者需要在Linux环境下处理摄像头数据的应用来说,Qt结合V4L2是一个高效且灵活的选择。
2025/6/15 19:50:07 12KB
1
简介:
《颜色小猎人3.5.e》是一款深受用户喜爱的颜色识别和管理软件,它提供了丰富的色彩分析和选取功能,帮助用户在设计、绘画、印刷等领域更精确地掌握色彩。
这款软件的完整版3.5.e版本增加了许多新特性和优化,以提升用户体验。
一、颜色选取与分析颜色小猎人3.5.e的核心功能之一是颜色选取。
它能够通过摄像头捕捉现实世界中的颜色,并将其转换为数字色彩代码,如RGB、CMYK、HSV等。
用户可以轻松地将这些颜色应用于各种设计项目,确保色彩的一致性。
此外,软件还提供了色彩分析工具,如色差计算,帮助用户评估颜色之间的差异,这对于色彩敏感的工作至关重要。
二、色彩库与自定义调色板在颜色小猎人3.5.e中,用户可以浏览预设的色彩库,包含多种流行色卡和色彩搭配方案。
同时,用户也可以创建自己的调色板,保存常用或特定项目的颜色组合,方便随时调用。
这大大提高了设计工作的效率。
三、跨平台支持该软件支持多个操作系统,包括Windows和Mac OS,使得不同平台的用户都能享受其便利。
3.5.e版本可能进一步优化了跨平台的兼容性和稳定性,确保用户在任何环境下都能顺畅使用。
四、增强的用户体验颜色小猎人3.5.e对界面进行了优化,提供更直观的操作方式和视觉效果。
此外,可能还添加了一些快捷键和功能,让用户在操作过程中更加得心应手。
新版本可能也修复了前代版本的一些已知问题,提升了软件的整体性能。
五、教育与学习资源为了帮助用户更好地掌握颜色理论和应用,颜色小猎人3.5.e可能包含了教程、指南和色彩知识库。
这些资源对于初学者来说是非常宝贵的,可以帮助他们快速上手并提升色彩感知能力。
六、社区交流与分享软件可能还拥有一个活跃的用户社区,用户可以在其中分享自己的作品、色彩搭配和使用经验。
这种互动增强了软件的社交属性,使得学习和探索色彩变得更加有趣。
《颜色小猎人3.5.e》是一款强大的颜色管理工具,不仅提供了全面的颜色选取和分析功能,还注重用户体验的提升和色彩知识的学习分享。
无论是专业设计师还是业余爱好者,都可以从中受益匪浅。
通过这个完整版,用户可以享受到所有高级特性,尽情探索和应用色彩世界。
2025/6/15 19:48:46 2KB
1
图像找茬游戏是时下非常流行的游戏之一,人眼通过对比找出图像中差异较大的位置是一件较为有难度的事情,但是对于计算机来说精确找出图像差异却是一件简单的事情。
本文利用图像之间的灰度差和色彩差寻找图像之间的差异,在图像做差的结果上进行阈值分割形成二值图像,对于二值图像采用形态学处理,首先使用膨胀腐蚀运算去除噪声和填补二值团块,然后利用连通域分析算法对图像中差异较大的位置进行精确的定位。
最后通过多组实验进行算法参数调节,实验证明本文提出的图像找茬算法能有效的定位图像之间的差异。
1
视点变换,旋转,加速减速,星空背景太阳,光晕各行星纹理#include#include#include#include#include#include#include#pragmacomment(lib,"winmm.lib")#pragmacomment(lib,"wininet")//纹理图像结构typedefstruct{intimgWidth;//纹理宽度intimgHeight;//纹理高度unsignedcharbyteCount;//每个象素对应的字节数,3:24位图,4:带alpha通道的24位图unsignedchar*data;//纹理数据}TEXTUREIMAGE;//BMP文件头#pragmapack(2)typedefstruct{unsignedshortbfType;//文件类型unsignedlongbfSize;//文件大小unsignedshortbfReserved1;//保留位unsignedshortbfReserved2;//保留位unsignedlongbfOffBits;//数据偏移位置}BMPFILEHEADER;#pragmapack()//BMP信息头typedefstruct{unsignedlongbiSize;//此结构大小longbiWidth;//图像宽度longbiHeight;//图像高度unsignedshortbiPlanes;//调色板数量unsignedshortbiBitCount;//每个象素对应的位数,24:24位图,32:带alpha通道的24位图unsignedlongbiCompression;//压缩unsignedlongbiSizeImage;//图像大小longbiXPelsPerMeter;//横向分辨率longbiYPelsPerMeter;//纵向分辨率unsignedlongbiClrUsed;//颜色使用数unsignedlongbiClrImportant;//重要颜色数}BMPINFOHEADER;//定义窗口的标题、宽度、高度、全屏布尔变量#defineWIN_TITLE"模拟太阳系各星球的转动"constintWIN_WIDTH=800;constintWIN_HEIGHT=600;BOOLisFullScreen=FALSE;//初始不为全屏#defineDEG_TO_RAD0.017453floatangle=0.0;staticGLdoubleviewer[]={0,0,0,0,0};//初始化视角GLUquadricObj*quadric;//建立二次曲面对象GLfloatangle_Z;//星空旋转角度boolg_bOrbitOn=true;//控制转动暂停floatg_fSpeedmodifier=1.0f;//时间控制floatg_fElpasedTime;doubleg_dCurrentTime;doubleg_dLastTime;GLfloatLightAmbient[]={1.0f,1.0f,1.0f,0.0f};//环境光参数GLfloatLightDiffuse[]={1.0f,1.0f,1.0f,0.0f};//漫射光参数GLfloatLightPosition[]={0.0f,0.0f,0.0f,1.0f};//光源的位置//纹理图象TEXTUREIMAGEskyImg;TEXTUREIMAGEsunImg;TEXTUREIMAGErayImg;TEXTUREIMAGEmercuImg;TEXTUREIMAGEvenusImg;TEXTUREIMAGEearthImg;TEXTUREIMAGEmarsImg;TEXTUREIMAGEjupiterImg;TEXTUREIMAGEsaturnImg;TEXTUREIMAGEuranusImg;TEXTUREIMAGEneptuneImg;TEXTUREIMAGEmoonImg;GLuinttexture[12];//纹理数组//星球速度定义staticfloatfSunSpin=0.0f;//太阳自转速度staticfloatfMercuSpin=0.0f;//水星自转速度staticfloatfMercuOrbit=0.0f;//水星公转速度staticfloatfVenusSpin=0.0f;//金星自转速度staticfloatfVenusOrbit=0.0f;//金星公转速度staticfloatfEarthSpin=0.0f;//地球自转速度staticfloatfEarthOrbit=0.0f;//地球公转速度staticfloatfMarsSpin=0.0f;//火星自转速度staticfloatfMarsOrbit=0.0f;//火星公转速度staticfloatfJupiterSpin=0.0f;//木星自转速度staticfloatfJupiterOrbit=0.0f;//木星公转速度staticfloatfSaturnSpin=0.0f;//土星自转速度staticfloatfSaturnOrbit=0.0f;//土星公转速度staticfloatfUranusSpin=0.0f;//天王星自转速度staticfloatfUranusOrbit=0.0f;//天王星公转速度staticfloatfNeptuneSpin=0.0f;//海王星自转速度staticfloatfNeptuneOrbit=0.0f;//海王星公转速度staticfloatfMoonSpin=0.0f;//月亮自转速度staticfloatfMoonOrbit=0.0f;//月亮公转速度voidMakeTexture(TEXTUREIMAGEtextureImg,GLuint*texName)//转换为纹理{glPixelStorei(GL_UNPACK_ALIGNMENT,1);//对齐像素字节函数glGenTextures(1,texName);//第一个参数指定表明获取多少个连续的纹理标识符glBindTexture(GL_TEXTURE_2D,*texName);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,GL_REPEAT);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameterf(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexImage2D(GL_TEXTURE_2D,0,GL_RGB,textureImg.imgWidth,textureImg.imgHeight,0,GL_RGB,GL_UNSIGNED_BYTE,textureImg.data);}//初始化OpenGLvoidInitGL(void){glClearColor(0.0f,0.0f,0.0f,0.5f);//设置黑色背景glClearDepth(2.0f);//设置深度缓存glEnable(GL_DEPTH_TEST);//启动深度测试glDepthFunc(GL_LEQUAL);//深度小或相等的时候渲染glShadeModel(GL_SMOOTH);//启动阴影平滑glEnable(GL_CULL_FACE);//开启剔除操作效果glHint(GL_PERSPECTIVE_CORRECTION_HINT,GL_NICEST);//使用质量最好的模式指定颜色和纹理坐标的插值质量glLightfv(GL_LIGHT1,GL_AMBIENT,LightAmbient);//设置环境光glLightfv(GL_LIGHT1,GL_DIFFUSE,LightDiffuse);//设置漫反射光glEnable(GL_LIGHTING);//打开光照glEnable(GL_LIGHT1);//打开光源1//载入纹理glEnable(GL_TEXTURE_2D);//开启2D纹理映射MakeTexture(skyImg,&texture;[0]);MakeTexture(sunImg,&texture;[1]);MakeTexture(rayImg,&texture;[2]);MakeTexture(mercuImg,&texture;[3]);MakeTexture(venusImg,&texture;[4]);MakeTexture(earthImg,&texture;[5]);MakeTexture(marsImg,&texture;[6]);MakeTexture(jupiterImg,&texture;[7]);MakeTexture(saturnImg,&texture;[8]);MakeTexture(uranusImg,&texture;[9]);MakeTexture(neptuneImg,&texture;[10]);MakeTexture(moonImg,&texture;[11]);quadric=gluNewQuadric();//建立一个曲面对象指针gluQuadricTexture(quadric,GLU_TRUE);//建立纹理坐标gluQuadricDrawStyle(quadric,GLU_FILL);//面填充}voidDisplay(void){glLoadIdentity();//设置观察点的位置和观察的方向gluLookAt(viewer[0],viewer[1],viewer[2],viewer[3],viewer[4],-5,0,1,0);//摄像机x,摄像机y,摄像机z,目标点x,目标点y,目标点z,摄像机顶朝向x,摄像机顶朝向y,摄像机顶朝向z//获得系统时间使太阳系有动态效果g_dCurrentTime=timeGetTime();g_fElpasedTime=(float)((g_dCurrentTime-g_dLastTime)*0.0005);g_dLastTime=g_dCurrentTime;glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT);glMatrixMode(GL_MODELVIEW);//指定GL_MODELVIEW是下一个矩阵操作的目标glTranslatef(0.0f,0.0f,-5.0f);//将坐标系移入屏幕5.0fglRotatef(10,1.0f,0.0f,0.0f);//将坐标系绕x轴旋转10度glEnable(GL_LIGHT0);//打开光源0/**********************************绘制背景星空********************************************/glPushMatrix();//当前模型矩阵入栈glTranslatef(-10.0f,3.0f,0.0f);glRotatef(angle_Z,0.0f,0.0f,1.0f);glEnable(GL_TEXTURE_2D);glBindTexture(GL_TEXTURE_2D,texture[0]);//星空纹理glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,-1.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,1.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(0.0f,-1.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(1.0f,0.0f,0.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-50.0f,-50.0f,-50.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(-50.0f,50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(-50.0f,-50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(-50.0f,50.0f,-50.0f);glEnd();glBegin(GL_QUADS);glNormal3f(-1.0f,0.0f,0.0f);glTexCoord2f(6.0f,6.0f);glVertex3f(50.0f,-50.0f,-50.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(50.0f,50.0f,50.0f);glTexCoord2f(6.0f,0.0f);glVertex3f(50.0f,-50.0f,50.0f);glTexCoord2f(0.0f,6.0f);glVertex3f(50.0f,50.0f,-50.0f);glEnd();glPopMatrix();//当前模型矩阵出栈/**********************************绘制太阳************************************************/glBindTexture(GL_TEXTURE_2D,texture[2]);//光晕纹理glEnable(GL_BLEND);//开启混合glDisable(GL_DEPTH_TEST);//关闭深度测试//绘制太阳光晕glDisable(GL_LIGHTING);//关闭光照glBlendFunc(GL_SRC_ALPHA,GL_ONE);//半透明混合函数glColor4f(1.0f,0.5f,0.0f,0.5f);//设置RGBA值glBegin(GL_QUADS);glNormal3f(0.0f,0.0f,1.0f);glTexCoord2f(0.0f,0.0f);glVertex3f(-1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,0.0f);glVertex3f(1.0f,-1.0f,0.0f);glTexCoord2f(1.0f,1.0f);glVertex3f(1.0f,1.0f,0.0f);glTexCoord2f(0.0f,1.0f);glVertex3f(-1.0f,1.0f,0.0f);glEnd();glDisable(GL_BLEND);//关闭混合glEnable(GL_DEPTH_TEST);glEnable(GL_LIGHTING);//开启光照glLightfv(GL_LIGHT1,GL_POSITION,LightPosition);//设置光源1位置glBindTexture(GL_TEXTURE_2D,texture[1]);//太阳纹理//将坐标系绕Y轴旋转fSunSpin角度,控制太阳自转glRotatef(fSunSpin,0.0,1.0,0.0);gluSphere(quadric,0.3f,32,32);//绘制太阳球体/**********************************绘制水星************************************************/glDisable(GL_LIGHT0);glEnable(GL_TEXTURE_2D);//开启纹理glPushMatrix();//当前模型视图矩阵入栈//将坐标系绕Y轴旋转fMercuOrbit角度,控制水星公转glRotatef(fMercuOrbit,0.0f,1.0f,0.0f);glRotatef(-90.0f,1.0f,0.0f,0.0f);//将坐标系绕X轴旋转-90度glTranslatef(0.5f,0.0f,0.0f);//将坐标系右移0.5fglBindTexture(GL_TEXTURE_2D,texture[3]);//水星纹理//将坐标系绕Z轴旋转fMercuSpin角度控制水星自转glRotatef(fMercuSpin,0.0f,0.0f,1.0f);gluSphere(quadric,0.04f,32,32);//水星球体glPopMatrix();//当前模型视图矩阵出栈//绘制轨道glBegin(GL_LINE_LOOP);for(angle=0;angle=-6.0)viewer[0]-=0.5;break;case'u':case'U':if(viewer[1]=-6.0)viewer[1]-=0.1;break;case'+':case'='://加速,减速,暂停g_fSpeedmodifier+=1.0f;glutPostRedisplay();break;case'':g_bOrbitOn=!g_bOrbitOn;glutPostRedisplay();break;case'-'://按'-'减小运行速度g_fSpeedmodifier-=1.0f;glutPostRedisplay();break;caseVK_ESCAPE://按ESC键时退出exit(0);break;default:break;}}voidspecial_keys(ints_keys,intx,inty){switch(s_keys){caseGLUT_KEY_F1://按F1键时切换窗口/全屏模式if(isFullScreen){glutReshapeWindow(WIN_WIDTH,WIN_HEIGHT);glutPositionWindow(30,30);isFullScreen=FALSE;}else{glutFullScreen();isFullScreen=TRUE;}break;caseGLUT_KEY_RIGHT://视角上下左右旋转if(viewer[3]=-3.0)viewer[3]-=0.1;break;caseGLUT_KEY_UP:if(viewer[4]=-4.5)viewer[4]-=0.1;break;default:break;}}voidmouse(intbtn,intstate,intx,inty)//远近视角{if(btn==GLUT_RIGHT_BUTTON&&state==GLUT_DOWN)viewer[2]+=0.3;if(btn==GLUT_LEFT_BUTTON&&state==GLUT_DOWN&&viewer;[2]>=-3.9)viewer[2]-=0.3;}voidLoadBmp(char*filename,TEXTUREIMAGE*textureImg)//载入图片{inti,j;FILE*file;BMPFILEHEADERbmpFile;BMPINFOHEADERbmpInfo;intpixel_size;//初始化纹理数据textureImg->imgWidth=0;textureImg->imgHeight=0;if(textureImg->data!=NULL){delete[]textureImg->data;}//打开文件file=fopen(filename,"rb");if(file==NULL){return;}//获取文件头rewind(file);fread(&bmpFile;,sizeof(BMPFILEHEADER),1,file);fread(&bmpInfo;,sizeof(BMPINFOHEADER),1,file);//验证文件类型if(bmpFile.bfType!=0x4D42){return;}//获取图像色彩数pixel_size=bmpInfo.biBitCount>>3;//读取文件数据textureImg->data=newunsignedchar[bmpInfo.biWidth*bmpInfo.biHeight*pixel_size];for(i=0;idata+(i*bmpInfo.biWidth+j)*pixel_size+2,sizeof(unsignedchar),1,file);//绿色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+1,sizeof(unsignedchar),1,file);//蓝色分量fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+0,sizeof(unsignedchar),1,file);//Alpha分量if(pixel_size==4){fread(textureImg->data+(i*bmpInfo.biWidth+j)*pixel_size+3,sizeof(unsignedchar),1,file);}}}//记录图像相关参数textureImg->imgWidth=bmpInfo.biWidth;textureImg->imgHeight=bmpInfo.biHeight;textureImg->byteCount=pixel_size;fclose(file);}//程序主函数voidmain(intargc,char**argv){//读图片LoadBmp("Picture//Sky.bmp",&skyImg;);LoadBmp("Picture//Sun.bmp",&sunImg;);LoadBmp("Picture//Ray.bmp",&rayImg;);LoadBmp("Picture//Mercu.bmp",&mercuImg;);LoadBmp("Picture//Venus.bmp",&venusImg;);//金星LoadBmp("Picture//Earth.bmp",&earthImg;);LoadBmp("Picture//Mars.bmp",&marsImg;);//火星LoadBmp("Picture//Jupiter.bmp",&jupiterImg;);//木星LoadBmp("Picture//Saturn.bmp",&saturnImg;);//土星LoadBmp("Picture//Uranus.bmp",&uranusImg;);//天王星LoadBmp("Picture//Neptune.bmp",&neptuneImg;);//海王星LoadBmp("Picture//Moon.bmp",&moonImg;);glutInit(&argc;,argv);//初始化GLUT库glutInitDisplayMode(GLUT_RGBA|GLUT_DOUBLE|GLUT_DEPTH);//初始化显示模式glutInitWindowSize(WIN_WIDTH,WIN_HEIGHT);//初始化窗口大小glutInitWindowPosition(20,20);//初始化窗口位置GLuintwindow=glutCreateWindow(WIN_TITLE);//建立窗口InitGL();//初始化OpenGLglutDisplayFunc(Display);glutReshapeFunc(Reshape);glutKeyboardFunc(keyboard);glutSpecialFunc(special_keys);glutMouseFunc(mouse);glutIdleFunc(Display);//设置窗口空闲时的处理函数glutMainLoop();//进入事件处理循环}
2025/6/8 20:47:10 3.53MB 三维动画 模拟太阳系
1
在设计过程中,如何最佳地搭配颜色,诱导用户视线?是不是在为图标选择什么颜色而烦恼,反反复复地尝试,总不能达到想要的效果。
是不是总在羡慕“别人家的设计”,而苦于无从下手?其实所有的颜色都有些小规律,今天@Micu设计就和大家聊一聊“色”。
在色彩的应用中,大家对颜色都会有不同程度的理解,从而影响到设计页面的表现。
熟练地将色彩搭配运用到设计中去,会让设计更为稳重和得体。
优秀的设计它的色彩搭配非常的舒服,令人赏心悦目。
那我们怎么才能搭配出最贴合设计的色彩更好呢?既然是平面设计,视觉刺激是最直观的。
比如当下流行的涂色书,为啥普普通通的图案能展现出那样美丽的效果,就是因为色,因为合理的颜色搭配。
再比如好的
1
共 142 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡