setaspectratio
raw OCR
Changes the default aspect ratio correction factor.
Defined in header <graphics.h>
Syntax
#include <graphics.h>
void far setaspectratio(int xasp, int yasp);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ |
Remarks
setaspectratio changes the default aspect ratio of the graphics system. The graphics system uses the aspect ratio to make sure that circles are round onscreen. If circles appear elliptical, the monitor is not aligned properly. You could correct this in the hardware by realigning the monitor, but it's easier to change in the software by using setaspectratio to set the aspect ratio. To obtain the current aspect ratio from the system, call getaspectratio.
Return value
None.
See also
Example
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
{
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
int xasp, yasp, midx, midy;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode != grOk) /* an error occurred */
{
printf("Graphics error: %s\n", grapherrormsg (errorcode));
printf("Press any key to halt:");
getchO ;
exit(l); /* terminate with an error code */
}
midx = getmaxx( ) / 2;
midy = getmaxy () / 2;
setcolor (getmaxcolor());
/* get current aspect ratio settings */
getaspectratio(&;xasp, &yasp) ;
/* draw normal circle */
circle(midx, midy, 100);
getchO;
/* clear the screen */
cleardeviceO ;
/* adjust the aspect for a wide circle */
setaspectratio (xasp/2, yasp);
circle (midx, midy, 100);
getchO ;
/* adjust the aspect for a narrow circle */
cleardeviceO;
setaspectratio (xasp, yasp/2);
circle (midx, midy, 100);
/* clean up */
getchO ;
closegraphO ;
return 0;
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/graphics.h/setaspectratio/
· short form /3.1/setaspectratio/