使用 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语言给自己的奖状相关推荐

  1. 用go语言制作读取excel模板批量生成word工具

    上一篇是批量生成excel的,这一篇是批量生成word的. 这里做三点说明: 第一就是这个东西到底是干嘛用的.有时候有这样的业务场景,比如说人事部门要填写很多个word,每个word都是按照特定的模板 ...

  2. 机器人兴趣班奖状_拼音兴趣班奖状导师寄语

    美术兴趣班奖状称号 绘画小高手,绘画小天才,绘画创意天才,彩绘天才, 美术兴趣班奖状名称除了绘画小能手,还有什么创意好听的名称 全班的希望 舞蹈兴趣班给孩子发奖状什么称号最好听 最具活力奖. 或者大明 ...

  3. 上财金融科技复试c语言,上财金融专硕复试经验及技巧分享

    原标题:上财金融专硕复试经验及技巧分享 1.复试介绍 (1) 复试时间:三月中下旬(a.b组预复试会提前) (2)复试材料:证书.成绩单.简历.复试录取证明等(看具体通知,有论文很加分) (3)复试流 ...

  4. C语言辩论课,2014-2015年校园辩论赛

    <2014-2015年校园辩论赛>由会员分享,可在线阅读,更多相关<2014-2015年校园辩论赛(10页珍藏版)>请在人人文库网上搜索. 1.湖南师范大学 2014-2015 ...

  5. c语言叠阵题目怎么做,蔡中初一语文期中考试试题

    <蔡中初一语文期中考试试题>由会员分享,可在线阅读,更多相关<蔡中初一语文期中考试试题(6页珍藏版)>请在人人文库网上搜索. 1.蔡中七年级语文期中测试卷分数 一积累(25分) ...

  6. C语言大作业关于班委选举,大学竞选班长演讲稿(精选10篇)

    大学竞选班长演讲稿(精选10篇) 很多学生想要在大一的时候竞选班长,那么想要竞选大学班长应该怎么说呢?班长是班级的领头人,必须要做的是引领大家树立个积极向上的班风.下面是瑞文小编收集整理的大学竞选班长 ...

  7. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  8. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  9. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

最新文章

  1. 修改MySQL日志文件位置
  2. centos的ssh配置
  3. 人工智能时代,机器视觉技术的未来趋势
  4. left join(左联接) left join(左联接) left join(左联接)
  5. iis6.0怎么搭php,IIS6.0平台下PHP最佳配置方法
  6. OpenCV中SUFR、SIFT无法使用的原因及解决办法
  7. BLE 包结构及传输速率
  8. Android studio 的快捷键 MAC 和Win版本
  9. android电梯程序设计,课内资源 - 基于Android实现的电梯调度模拟
  10. html中contentEditable属性
  11. 2020蓝天杯论文评比系统_教师写作:专业表达的快乐旅行 2020梅小暑期教师教育论文、教育随笔、读书心得评比结果...
  12. Javascript设计模式(三)-- 抽象工厂模式
  13. python实践项目(二)
  14. 求不规则立方体表面积java_不规则立方体体积计算
  15. edid ddc 显示器识别
  16. 第2章-计算机组成原理之概述篇
  17. Nessus部署及简单使用
  18. pgloader mysql_pgloader 学习(四)一些简单操作例子
  19. linux下tar命令解压缩,tar解压缩命令 Linux下的tar压缩解压缩命令详解
  20. sicily 1050——5个数通过加减乘除运算得到目标数

热门文章

  1. SpringBoot+Vue项目实现高校学生健康打卡系统
  2. Revit二次开发 获取模型截面线、截面轮廓
  3. 【生成模型】简述概率密度函数可处理流模型
  4. 虹科教您|实现OPC UA C/S快速部署及数据采集
  5. 读取raw格式数据,OpenCV显示
  6. Qt5:报错error: 'tr' was not declared in this scop
  7. wma格式怎么转换mp3
  8. TResNet学习笔记 --- TResNet: High Performance GPU-Dedicated Architecture
  9. SQLServer常用的字符串函数
  10. Python中的对象赋值和浅拷贝,深拷贝