User Tools

Site Tools


c:graphics.h:setaspectratio

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

c:graphics.h:setaspectratio [2015/05/06 23:06] (current)
Line 1: Line 1:
 +===== setaspectratio =====
 +
 +
 +====Syntax of setaspectratio ==== 
 + <code c>
 +#include <graphics.h>
 +void setaspectratio(int xasp, int yasp);
 +  </code>
 +
 +
 +==== Description of setaspectratio ==== 
 +<code c>
 +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.
 +</code>
 +
 +
 +==== Example of setaspectratio ====
 +<code c>
 +/* 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;
 +}
 +</code>
 +
 +
 +==== See also ====
 +[[circle]]
 +[[getaspectratio]]
 +
 +
 +===== output of setaspectratio example ===== 
 +
 +    no output of example at the moment
 +    do not hesitate and add it...  
 +
 +
  
advertising
c/graphics.h/setaspectratio.txt · Last modified: 2015/05/06 23:06 (external edit)

Impressum Datenschutz