用C语言给自己的奖状
使用 C 语言给自己写个奖状吧,先看效果,后附代码
源码如下:
#include<graphics.h>
#include<conio.h>
#include<math.h>
#define PI acos(-1.0)
void YZ(int x,int y); // 绘制印章
void DrawCircle(TCHAR str, int variable, int fors, int R,int x,int y);int main()
{initgraph(640,480);float H = 26; // 色相float S = 0.99; // 饱和度float L = 0.5f; // 亮度float N = 61 - H;for (int y = 0; y < 480; y++){if (y < 240){H += N / 240.f;}else{H -= N / 240.f;}setlinecolor(HSLtoRGB(H, S, L));line(0, y, 639, y);}setlinecolor(RGB(252,255,230));setlinestyle(PS_SOLID,6);line(38, 0, 38, 480);line(57, 0, 57, 480);line(77, 0, 77, 480);line(640-38, 0, 640-38, 480);line(640-57, 0, 640-57, 480);line(640-77, 0, 640-77, 480);// 绘制文字RECT r = { 77, 54, 640-77, 120 };settextstyle(60,0,_T("楷体"));setbkmode(TRANSPARENT);settextcolor(RGB(245,4,0));drawtext(_T("奖 状"), &r, DT_CENTER | DT_VCENTER | DT_SINGLELINE);settextstyle(25, 0, _T("楷体"));settextcolor(BLACK);outtextxy(124, 168 - 35, _T("C语言研究:"));outtextxy(158, 200 - 30, _T("由于你这段时间的优良表现,现在"));outtextxy(120, 244 - 30, _T("授予你“最佳创作者”希望你继续保"));outtextxy(120, 288 - 30, _T("持,在今后的日子里,再接再厉!"));YZ(480, 360);settextcolor(BLACK);settextstyle(18, 0, L"楷体", 0, 0, 0, false, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH);outtextxy(380,342,_T("给C语言研究的专属奖状"));outtextxy(380,360, _T("二〇二二年九月二十二日"));saveimage(_T("a.png"));_getch();return 0;
}void YZ(int x,int y)
{int R = 50;setlinecolor(RGB(255,3,1));setlinestyle(PS_SOLID, 3);circle(x,y,R);// 五角星POINT pts[5];// 计算五角星的五个顶点坐标double a = PI / 2;for (int i = 0; i < 5; i++){pts[i].x = int(x + cos(a) * (R-25));pts[i].y = int(y - sin(a) * (R-25));a += PI * 4 / 5;}// 设置填充模式为 WINDING (详见 EasyX 帮助手册)setpolyfillmode(WINDING);// 设置填充颜色为红色setfillcolor(RGB(255, 3, 1));// 绘制五角星(无边框)solidpolygon(pts, 5);TCHAR str[25];for (int i = 0; i < 9; i++){str[0] = L"C语言研究专属印章"[8-i];DrawCircle(str[0], i, 18, R+7,x,y);;}
}void DrawCircle(TCHAR str, int variable, int fors, int R,int MYX,int MYY)
{settextcolor(RED);double a, x0, y0, w, h, x1, y1;int x, y;settextstyle(15, 0, L"宋体", variable * 3600 / fors-900, variable * 3600 / fors-900, 0, false, false, false, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, ANTIALIASED_QUALITY, DEFAULT_PITCH);a = variable * PI * 2 / fors;w = textwidth(str); // 计算字符串宽 w、高 hh = textheight(str);x1 = R * cos(a); // 计算输出字符串的左上角位置y1 = R * sin(a);x0 = x1 * cos(-a) - y1 * sin(-a); // 将字符串绕原点顺时针旋转 a 弧度y0 = y1 * cos(-a) + x1 * sin(-a);x0 -= w / 2; // 将字符串向左上偏移 w/2、h/2y0 += h / 2; // 绘图坐标向下为正x = (int)(x0 * cos(a) - y0 * sin(a)); // 将字符串绕原点逆时针旋转 a 弧度y = (int)(y0 * cos(a) + x0 * sin(a));outtextxy(int(MYX + x + 0.5), int(MYY - y + 0.5), str); // 绘图坐标向下为正
}
点击链接加入群聊【C语言/C++编程学习基】:
的个人空间_哔哩哔哩_Bilibili,的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/1827181878?spm_id_from=333.1007.0.0
用C语言给自己的奖状相关推荐
- 用go语言制作读取excel模板批量生成word工具
上一篇是批量生成excel的,这一篇是批量生成word的. 这里做三点说明: 第一就是这个东西到底是干嘛用的.有时候有这样的业务场景,比如说人事部门要填写很多个word,每个word都是按照特定的模板 ...
- 机器人兴趣班奖状_拼音兴趣班奖状导师寄语
美术兴趣班奖状称号 绘画小高手,绘画小天才,绘画创意天才,彩绘天才, 美术兴趣班奖状名称除了绘画小能手,还有什么创意好听的名称 全班的希望 舞蹈兴趣班给孩子发奖状什么称号最好听 最具活力奖. 或者大明 ...
- 上财金融科技复试c语言,上财金融专硕复试经验及技巧分享
原标题:上财金融专硕复试经验及技巧分享 1.复试介绍 (1) 复试时间:三月中下旬(a.b组预复试会提前) (2)复试材料:证书.成绩单.简历.复试录取证明等(看具体通知,有论文很加分) (3)复试流 ...
- C语言辩论课,2014-2015年校园辩论赛
<2014-2015年校园辩论赛>由会员分享,可在线阅读,更多相关<2014-2015年校园辩论赛(10页珍藏版)>请在人人文库网上搜索. 1.湖南师范大学 2014-2015 ...
- c语言叠阵题目怎么做,蔡中初一语文期中考试试题
<蔡中初一语文期中考试试题>由会员分享,可在线阅读,更多相关<蔡中初一语文期中考试试题(6页珍藏版)>请在人人文库网上搜索. 1.蔡中七年级语文期中测试卷分数 一积累(25分) ...
- C语言大作业关于班委选举,大学竞选班长演讲稿(精选10篇)
大学竞选班长演讲稿(精选10篇) 很多学生想要在大一的时候竞选班长,那么想要竞选大学班长应该怎么说呢?班长是班级的领头人,必须要做的是引领大家树立个积极向上的班风.下面是瑞文小编收集整理的大学竞选班长 ...
- Go语言的错误异常处理机制及其应用
一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...
- Go 知识点(19)— Go 语言中的野指针
野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...
- gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表
对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...
最新文章
- 修改MySQL日志文件位置
- centos的ssh配置
- 人工智能时代,机器视觉技术的未来趋势
- left join(左联接) left join(左联接) left join(左联接)
- iis6.0怎么搭php,IIS6.0平台下PHP最佳配置方法
- OpenCV中SUFR、SIFT无法使用的原因及解决办法
- BLE 包结构及传输速率
- Android studio 的快捷键 MAC 和Win版本
- android电梯程序设计,课内资源 - 基于Android实现的电梯调度模拟
- html中contentEditable属性
- 2020蓝天杯论文评比系统_教师写作:专业表达的快乐旅行 2020梅小暑期教师教育论文、教育随笔、读书心得评比结果...
- Javascript设计模式(三)-- 抽象工厂模式
- python实践项目(二)
- 求不规则立方体表面积java_不规则立方体体积计算
- edid ddc 显示器识别
- 第2章-计算机组成原理之概述篇
- Nessus部署及简单使用
- pgloader mysql_pgloader 学习(四)一些简单操作例子
- linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解
- sicily 1050——5个数通过加减乘除运算得到目标数
热门文章
- SpringBoot+Vue项目实现高校学生健康打卡系统
- Revit二次开发 获取模型截面线、截面轮廓
- 【生成模型】简述概率密度函数可处理流模型
- 虹科教您|实现OPC UA C/S快速部署及数据采集
- 读取raw格式数据,OpenCV显示
- Qt5:报错error: 'tr' was not declared in this scop
- wma格式怎么转换mp3
- TResNet学习笔记 --- TResNet: High Performance GPU-Dedicated Architecture
- SQLServer常用的字符串函数
- Python中的对象赋值和浅拷贝,深拷贝