鱼C论坛

 找回密码
 立即注册
查看: 1807|回复: 2

Dev-c++绘图时设置原点函数setorigin执行错误

[复制链接]
发表于 2023-3-15 21:01:43 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
#include <graphics.h>
#include <math.h>
#include <conio.h>
#define PI 3.1415926
int main()
{
        initgraph(640,480);
        setcolor(GREEN);
        setorigin(320,240);
        double e;
        int x1,y1,x2,y2;
        for(double a=0;a<2*PI;a+=2*PI/720)
        {
                e=100*(1+sin(4*a));
                x1=(int)(e*cos(a));
                y1=(int)(e*sin(a));
                x2=(int)(e*cos(a+PI/5));
                y2=(int)(e*sin(a+PI/5));
                line(x1,y1,x2,y2);
                Sleep(20);
        }
        getch();
        closegraph();
}
这个程序用Dev-c++运行会显示“[Error] 'setorigin' was not declared in this scope”,我已经下载了支持“graphics.h"的ege函数包,但是设置原点函数”setorigin()"会报错,只有注释掉才能运行,但是只能在(0,0)点绘图,达不到展示全部绘图结果,孩子已经查了好多资料了还是解决不了,该怎么办啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2023-3-15 21:04:59 | 显示全部楼层
首先,我明白您的问题和困扰。关于Dev-C++使用graphics.h库的问题,我提供一个解决方案。

实际上,setorigin()函数并不是graphics.h库中的函数,您可以使用setviewport()来代替它。您可以将程序修改为如下形式:
#include <graphics.h>
#include <math.h>
#include <conio.h>
#define PI 3.1415926
int main()
{
    initgraph(640, 480);
    setcolor(GREEN);
    setviewport(320, 240, 640, 480, 1); // 使用setviewport()代替setorigin()
    double e;
    int x1, y1, x2, y2;
    for (double a = 0; a < 2 * PI; a += 2 * PI / 720)
    {
        e = 100 * (1 + sin(4 * a));
        x1 = (int)(e * cos(a));
        y1 = (int)(e * sin(a));
        x2 = (int)(e * cos(a + PI / 5));
        y2 = (int)(e * sin(a + PI / 5));
        line(x1, y1, x2, y2);
        Sleep(20);
    }
    getch();
    closegraph();
}

这里,我将setorigin()函数替换为setviewport()。setviewport()函数的前四个参数分别是视口的左上角和右下角坐标,最后一个参数是裁剪选项。

在这个例子中,视口左上角坐标为(320, 240),右下角坐标为(640, 480),最后一个参数为1,表示启用裁剪。通过这种方式,您可以实现在(320, 240)点开始绘图的效果。

请尝试这个解决方案,看看是否能解决您的问题。如果仍然存在问题,欢迎随时提问。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2023-3-18 17:31:31 | 显示全部楼层
isdkz 发表于 2023-3-15 21:04
首先,我明白您的问题和困扰。关于Dev-C++使用graphics.h库的问题,我提供一个解决方案。

实际上,setor ...

这也显示不全图案啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 17:28

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表