基本绘图与文字绘制
参数错误,找不到对应的函数, 错误 C2665 “outtextxy”: 没有重载函数可以转换所有参数类型
是由于字符集导致的, 解决方案:
- 在字符串前面加上大写的 L
- 用TEST()把字符串包起来, _T(), 原理同上
- 不需要添加任何代码, 进项目->属性->配置属性->高级->字符集.>改为多字节字符集, 推荐使用这个
图像输出
- 相对路径: ./表示当前文件夹下, ../当前文件夹的上一级目录 ./eg_pic.jpg
- 绝对路径: D:\C_language\study_c\C++\Study\eg_pic.jpg 反斜杠均需改为双斜杠 或 正斜杠->转义字符
- 路径中若有空格需用双引号包含改文件\文件夹名称, 双引号也需转义字符
#include<stdio.h>
//1. 包含图形库头文件, 就能使用函数
#include<graphics.h>
#include<iostream>
using namespace std;
int main()
{
//2. 创建一个窗口
//initgraph(640, 480, NOMINIMIZE | NOCLOSE | SHOWCONSOLE);
initgraph(640,480,SHOWCONSOLE);
//设置背景颜色, one two两步才能设置背景颜色
setbkcolor(WHITE);//one
cleardevice();//清屏 two
//3.圆
setlinestyle(PS_SOLID,5);//设置线条样式
setfillcolor(YELLOW);//设置填充暗色
setlinecolor(BLUE); //设置线条颜色
circle(50,50,50);
fillcircle(50, 150, 50);
solidcircle(50, 250, 50);
//绘制文字
//设置文字颜色
settextcolor(RED);
//参数错误,找不到对应的函数, 错误 C2665 “outtextxy”: 没有重载函数可以转换所有参数类型
//是由于字符集导致的, 解决方案:
//1. 在字符串前面加上大写的 L
//2. 用TEST()把字符串包起来,_T(),原理同上
//3. 不需要添加任何代码, 进项目->属性->配置属性->高级->字符集.>改为多字节字符集, 推荐使用这个
//设置文字样式, 大小, 字体
settextstyle(50, 0, "楷体");
//设置背景模式
setbkmode(TRANSPARENT);
settextcolor(RGB(0, 128, 99));
//outtextxy(50,50,"AAAAA");
//把文字居中
fillrectangle(200, 50, 500, 100);
settextcolor(RGB(173,0,13));
char arr[] = "我是居中显示的maye";
int width = 300 / 2 - textwidth(arr) / 2;
int height = 50 / 2 - textheight(arr) / 2;
outtextxy(width + 200, height + 50, arr);
//outtextxy(50, 50, "AAAAA");
//输出图片
IMAGE img;//定义一个变量(对象)
//加载图片
//相对路径: ./表示当前文件夹下, ../当前文件夹的上一级目录 ./eg_pic.jpg
//绝对路径: D:\C_language\study_c\C++\Study\eg_pic.jpg 反斜杠均需改为双斜杠 或 正斜杠->转义字符
//路径中若有空格需用双引号包含改文件\文件夹名称, 双引号也需转义字符
loadimage(&img, "./eg_pic.jpg",500,250);
putimage(0, 0, &img);
getchar();
//2.1 关闭窗口
closegraph();
return 0;
}