📄 figure.cpp
字号:
/**
* @shaunchyxion works
* 2009.4
*/
#include "graphics.h"
//突起的二维条形图
void upbar(int x1,int y1,int x2,int y2)
{
setlinestyle(0, 0, 0);
setcolor(DARKGRAY);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
setcolor(LIGHTGRAY);
line(x1,y1,x1,y2);
line(x1,y1,x2,y1);
setcolor(LIGHTGRAY);
line(x1+1,y2-1,x2-1,y2-1);
line(x2-1,y1+1,x2-1,y2-1);
setcolor(WHITE);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(LIGHTGRAY);
rectangle(x1+2,y1+2,x2-2,y2-2);
setfillstyle(SOLID_FILL,LIGHTGRAY);
floodfill(x1+3,y1+3,LIGHTGRAY);
}
//凹陷的二维条形图
void dnbar(int x1, int y1, int x2, int y2)
{
setlinestyle(0, 0, 0);
setcolor(WHITE);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
setcolor(LIGHTGRAY);
line(x1,y1,x1,y2);
line(x1,y1,x2,y1);
setcolor(LIGHTGRAY);
line(x1+1,y2-1,x2-1,y2-1);
line(x2-1,y1+1,x2-1,y2-1);
setcolor(DARKGRAY);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(LIGHTGRAY);
rectangle(x1+2,y1+2,x2-2,y2-2);
setfillstyle(1,LIGHTGRAY);
floodfill(x1+3,y1+3,LIGHTGRAY);
}
//可填充的突起二维条形图
void upbarfill(int x1, int y1, int x2, int y2, int color)
{
setlinestyle(0, 0, 0);
setcolor(DARKGRAY);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
setcolor(LIGHTGRAY);
line(x1,y1,x1,y2);
line(x1,y1,x2,y1);
setcolor(LIGHTGRAY);
line(x1+1,y2-1,x2-1,y2-1);
line(x2-1,y1+1,x2-1,y2-1);
setcolor(WHITE);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(color);
rectangle(x1+2,y1+2,x2-2,y2-2);
setfillstyle(SOLID_FILL, color);
floodfill(x1+3,y1+3,color);
}
//可填充的凹陷二维条形图
void dnbarfill(int x1, int y1, int x2, int y2, int color)
{
setlinestyle(0, 0, 0);
setcolor(WHITE);
line(x1,y2,x2,y2);
line(x2,y1,x2,y2);
setcolor(LIGHTGRAY);
line(x1,y1,x1,y2);
line(x1,y1,x2,y1);
setcolor(LIGHTGRAY);
line(x1+1,y2-1,x2-1,y2-1);
line(x2-1,y1+1,x2-1,y2-1);
setcolor(LIGHTGRAY);
line(x1+1,y1+1,x1+1,y2-1);
line(x1+1,y1+1,x2-1,y1+1);
setcolor(color);
rectangle(x1+2,y1+2,x2-2,y2-2);
setfillstyle(SOLID_FILL ,color);
floodfill(x1+3,y1+3,color);
}
//突起填充的圆形
void upCircleFill(int x, int y, int r,int color)
{
setlinestyle(0, 0, 0);
setcolor(DARKGRAY);
circle(0,0,0); //由于我无法获得画弧线的颜色,只好出此下策了
//右半圆
arc(x, y, 225, 45, r);
setcolor(LIGHTGRAY);
circle(0,0,0);
//左半圆
arc(x, y, 45, 225, r);
setcolor(LIGHTGRAY);
circle(0,0,0);
//右半圆,偏移一个像素
arc(x, y,225, 45, r-1);
setcolor(WHITE);
circle(0,0,0);
//左半圆,偏移一个像素
arc(x, y, 45, 225, r-1);
setcolor(LIGHTGRAY);
//绘制圆形,收缩2个像素
circle(x, y, r-2);
//填充
setfillstyle(SOLID_FILL,color);
floodfill(x, y ,LIGHTGRAY);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -