帮我写一个c语言显示图片的函数,用graphics.h头文件
时间: 2023-06-10 10:04:41 浏览: 83
好的,下面是一个可以在 C 语言中显示图片的函数,使用了 graphics.h 头文件:
```c
#include <graphics.h>
void displayImage(char *filename) {
int gd = DETECT, gm;
initgraph(&gd, &gm, "");
readimagefile(filename, 0, 0, getmaxx(), getmaxy());
getch();
closegraph();
}
```
这个函数接收一个图片的文件名作为参数,然后使用 `initgraph` 初始化图形环境,`readimagefile` 读取图片文件并将其显示在屏幕上,最后使用 `getch` 等待用户按下一个键后结束程序。
请注意,在使用此函数之前,请确保已经正确安装了 graphics.h 头文件和相应的库文件。
相关问题
graphics.h头文件c语言
graphics.h 是一个 C 语言图形库的头文件,它包含了一系列函数,可以用来在屏幕上绘制各种图形,例如线段、圆形、矩形、多边形等等。它通常被用于开发基于图形界面的应用程序,例如游戏、绘图软件等等。然而,需要注意的是,graphics.h 是一个非标准的头文件,它并不是 C 语言标准库的一部分,因此在不同平台和编译器上可能会有所不同。
用C语言实现在屏幕上绘制抛物线与直线的迭加图形。其中抛物线用“*” 表示,直线用“+”表示。抛物线和直线方程自选,但要求 直线斜率可以输入。 用两种颜色区分直线与抛物线。但不用graphics.h头文件
以下是用C语言实现在屏幕上绘制抛物线与直线的迭加图形的代码:
```c
#include <stdio.h>
#define ROWS 20
#define COLS 40
void draw(char screen[ROWS][COLS]) {
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%c", screen[i][j]);
}
printf("\n");
}
}
int main() {
char screen[ROWS][COLS];
int i, j;
float slope;
int y_intercept;
// Initialize screen
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
screen[i][j] = ' ';
}
}
// Draw parabola
for (i = 0; i < ROWS; i++) {
float x = i - ROWS/2;
float y = -0.05 * x * x + ROWS/2;
if (y >= 0 && y < COLS) {
screen[i][(int)y] = '*';
}
}
// Draw line
printf("Enter slope: ");
scanf("%f", &slope);
printf("Enter y-intercept: ");
scanf("%d", &y_intercept);
for (i = 0; i < ROWS; i++) {
float x = i - ROWS/2;
float y = slope * x + y_intercept;
if (y >= 0 && y < COLS) {
screen[i][(int)y] = '+';
}
}
// Draw screen
draw(screen);
return 0;
}
```
这个程序使用了一个二维字符数组来表示屏幕,其中每个元素表示屏幕上的一个像素点。程序首先初始化屏幕为全部空格,然后绘制了一个抛物线和一条直线。抛物线的方程为`y = -0.05 * x * x + ROWS/2`,其中`ROWS`为屏幕的行数,`x`的范围为`-ROWS/2`到`ROWS/2`。直线的斜率和y截距由用户输入。程序最后调用`draw`函数将屏幕上的内容打印出来。