User Tools

Site Tools


Sidebar

Programming Reference/Librarys

Question & Answer

Q&A is closed







c:graphics.h:setaspectratio

setaspectratio

Syntax of setaspectratio

#include <graphics.h>
void setaspectratio(int xasp, int yasp);
 

Description of setaspectratio

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.

Example of setaspectratio

/* setaspectratio 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:");
getch();
exit(1);   /* 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);
   getch();
 
   /* clear the screen */
   cleardevice();
 
   /* adjust the aspect for a wide circle */
   setaspectratio(xasp/2, yasp);
 
   circle(midx, midy, 100);
   getch();
 
   /* adjust the aspect for a narrow circle */
   cleardevice();
   setaspectratio(xasp, yasp/2);
   circle(midx, midy, 100);
 
   /* clean up */
   getch();
   closegraph();
   return 0;
}

See also

output of setaspectratio example

  no output of example at the moment
  do not hesitate and add it...  

on the occasion of the current invasion of Russia in Ukraine

Russian Stop this War
c/graphics.h/setaspectratio.txt · Last modified: 2024/02/16 01:05 (external edit)

Impressum Datenschutz