Wednesday, 17 February 2016

Learn Advance Graphics C/C++ In hindi, Learn Graphics In C/C++

[4]-INTERESTING FUNCTIONS

        C/C++ के इस Advance Learning Tutorial में आज हम आपको कुछ ऐसे functions के बारे में बताने जा रहे है जिनके use से program को और अधिक attractive बनाया जा सकता है ।  यह functions Text और Graphics दोनों modes पर work  करते है ।

          इसीलिए graphics programming शुरू करने से पहले इन functions के बारे में जानना जरूरी है  और उपयोगी भी है । 

          Functions शुरू करने से पहले हम एक interesting character के बारे में बता रहे है । आप सभी ने 'BLINKING' word जरूर सुना होगा। 
जिसका हिंदी में अर्थ जगमगाना होता है । यदि आप भी अपने प्रोग्राम में किसी भी character को screen पर blink कराना चाहते है तो C/C++ में यह भी संभव है । 

         किसी भी character को screen पर blink कराने के लिए C/C++ में एक constant word ' BLINK '  डिफाइन किया गया है । जिसकी हेल्प से आप किसी भी character को screen पर blink करा सकते है । 
     
         BLINK  constant की value 128 होती है । और इसका उपयोग कैसे करना है । यह नीचे दिए गए उदहारण में दिया गया है ।


textcolor( RED + BLINK );
           
            or

textcolor( RED + 128 );      
     धियान रखे की BLINK character TEXT MODE पर केवल textcolor और textbackground functions के साथ ही use होता है । 
अतः केवल BLINK लिखने से कोई फर्क नही पड़ेगा । आप BLINK के इस्थान पर value 128 भी लिख सकते है । यह दोनों तरीको से सही है । 
नीचे उदहारण देखे और इसे try जरूर करे । 

#include <conio.h> 
void main() {
clrscr();

textcolor(RED + BLINK );

cprintf("Welcome In Advance Learning Tutorial\n");

getch(); 
}

       इस प्रोग्राम को चलाने के बाद आपको output में 'Welcome In Advance Learning Tutorial' लाइन blink करते हुई दिखाई देगी । 

 GOTOXY :-

       अब बात करते है एक ऐसे function के बारे में जिसकी मदद से आप cursor को screen पर किसी भी position पर ले जा सकते है । 
       आप सभी पाठको से अनुरोध है की इस function के बारे में अच्छे से समझ ले क्यूंकि यह graphics में program बनाने के लिए उपयोगी होता है । इस function का नाम gotoxy है । और इसका declaration इस तरह है । 

 void gotoxy(int x , int y);     
      यह function दो parameter लेता है  x , y  आप x और y में जो भी value देंगे यह function cursor को उस position पर ले जायेगा । 
     
      धियान रहे की यदि आप invalid coordinate पास करते है तो इस function का use करने का कोई मतलब नही होगा क्यूंकि compiler इसे ignore कर देगा । function का use कैसे करना है इसके लिए उदहारण देखे ।     

नोट :- इस function को use करने से पहले Header File <conio.h > include करना न भूलें । 
#include <conio.h> 
#include <stdio.h>

void main() {

clrscr();

gotoxy(20,12);

printf("Welcome In Advance Learning Tutorial\n");

getch(); 
}
           
     धियान रहे की इस example में हमने cprintf की जगह printf function का use  है । इसी लिए stdio.h header file use की गयी है । gotoxy printf और cprintf दोनों के साथ work करता है।  

DELAY:-

               अब हम आपको एक और महत्वपूर्ण function के बारे में बता रहे है जिसका नाम delay() है  जिसकी मदद से आप program के execution को कुछ समय के लिए suspend कर सकते है । program  के execution को कितने समय के लिए suspend करना है । यह इस function के parameter में पास की गयी वैल्यू पर depend करता है 
Delay function millisecond में वैल्यू लेता है । यानि की यदि आप program को 5 second के लिए suspend करना चाहते है तो function का call इस प्रकार होगा । 

                               delay (5000);

इस line को लिखने के बाद यदि कोई भी line इस line के नीचे लिख दी जाये तो वह line 5 second के बाद  execute होगी क्यंकि program का execution 5 second के लिए ससपेंड कर दिया जायेगा । 

नोट :- function को use करने के पहले header file (DOS.H ) include जरूर करले । 

उदाहरण के लिए program देखे।
#include <conio.h> 
#include <stdio.h>
#include <dos.h>

void main() {

clrscr();

printf("Hello\n");

delay(5000);

printf("Welcome In Advance Learning Tutorial\n");

getch(); 
}


          program को run करने के बाद सबसे पहले output में आपको HELLO दिखाई देगा, इसके 5 second बाद ही अगली लाइन  Welcome in Advance Learning Tutorial print होगी । 

[5]-GRAPHICS BASIC-2

   C/C++ के Advance learning Tutorial में आज हम Graphics  Mode  के बारे में शुरूवात कर रहे है |  पर उसके पहले आपने इस tutorial  से जो कुछ भी सीखा उसका quick review लेना जरूरी है । 


आपने अभी तक सीखा -


  • Graphics  क्या है । 
  • Turbo C  Compiler (Installation) करना । 
  • Text Mode (Works  with coordinate system)
  • Colours in C/C++ 
  • textcolor( ) एंड textbackground ( ) Functions 
  • Blink Keyword 
  • gotoxy (int  x , int  y )
  • Delay 
अगर आपको इन Topics के बारे में जानकारी नहीं है तो आप Previous Chapters पर जाकर इन्हे पढ़ सकते है । 

Graphics Mode - 

                    Graphics Mode में program बनाने के लिए header file "graphics.h" include करना ना भूले Graphics programming करने के लिए यह file जरूरी है । इसके बाद Graphics को initialize करना होता है ।
                      C Language 16 Bit के MS-DOS environment को support करता है । Graphics mode को initialize करने के लिए एक function call करना होता है जिसे "initgraph" कहते है। यँहा हम आपको बोहुत ही सरल तरीके से समझाने की कोशिश कर रहे की initgraph function को कैसे use करना है । सबसे पहले function का prototype देखे । 

                void initgraph (int *graphdriver , int *graphmode , char *pathtodriver );
यह function 3 parameter लेता है । 

  1 )   *graphdriver  - 
                                यह एक integer है जो यह बताता है की graphics driver use किया गया है । 

  2 )  *graphmode - 

                               यह  भी एक integer  value है जो की available graphics driver को detect करके उसके according ही highest resolution का graphics mode initialize करता है । 
 3 ) *pathtodriver -
                              
                              यह उस directory का path है जंहा initgraph function graphics driver को सबसे पहले सर्च करता है ।  यदि graphics driver वंहा नही मिलता तो system उसे current directory में सर्च करता है । 

                       initgraph  function में तीनो parameter की सही वैल्यू को पास करना जरूरी होता है । अन्येथा output unpredictable आता है । 

आगे उदहारण देखे -

int gd  = DETECT , gm ;
initgraph (&gd ,&gm , " ");

                     Graphics मोड को initialize करने की लिए आपको सिर्फ दो लाइन्स ही लिखनी है । यंहा हमने दो integer variable 'gd' और 'gm' बनाये  
है । 

                      धियान दे  DETECT एक enumeration टाइप है जो की proper ग्राफ़िक्स driver को identify करता है तथा उसको लोड करता है । initgraph function me दोनों variable के address को पास करना होता है

                      धियान दे की हमने तीसरे variable की जगह स्पेस दिया है इसका मतलब ये हुआ की अगर आपको ड्राइवर का path नहीं पता है तो आप इसे खाली छोड़ सकते है । compiler path को auto detect कर लेगा ।                                     

                      आज के Advance Learning Tutorial में बस इतना ही, अगर आपको ऊपर बताये गए किसी भी टॉपिक में कोई भी परेशानी हो तो आप अपना प्रश्न पूंछ सकते है । 
                      आगे हम आपको graphics की सहायता से Circle एंड Rectangle कैसे draw करना है यह सीखेंगे । 


[6]-CIRCLE


आज के इस Advance Learning Tutorial में हम Graphics की हेल्प से Circle draw करना सीखेंगे ।

Circle बनाने के लिए हमे दो बाते धीयन रखनी होंगी । 
 1)  Center of the circle.
 2)  Radius of the circle.

C programming में circle draw करने के लिए सबसे पहले graphics.h header file को अपने प्रोग्राम में include करे । 

C में circle draw करने के लिए 1 function दिया गया है जिसका prototype इस तरह है 

void circle (int x, int y, int radius) 

यंहा पर x  एंड y circle के center point है | 

उदाहरण के लिए program देखे । 

#include<graphics.h>
#include<conio.h>

void main()
{
int gd=DETECT,gm;
initgraph(&gd,&gm,"");
circle(100,100,50);
getch();
closegraph();

धीयन रहे की circle function कोई भी value return नहीं करता । 
इसी प्रकार यदि आप circle के अंदर  एक और circle draw करना चाहते है तो circle function को दो बार कॉल कीजिये । लेकिन धीयन रहे की पहले वाले circle की radius दूसरे वाले circle की radius से बड़ी हो और सेंटर दोनों circle का same ही हो । 

                                     circle (100,100,50);
                                     circle (100,100,25); 


Circle function में आप जो भी value पास करते है वह pixel form में होती है । 


आगे सीखे Rectangle in C  Graphics. 


[7]-RECTANGLE



C graphics में rectangle draw करने के लिए सबसे पहले आपको graphics initialize करना होगा और अपने प्रोग्राम में graphics.h फाइल भी include करनी होगी । 

Rectangle draw करने के लिए एक फंक्शन दिया गया है नीचे उसका prototype देखे फिर उसे कैसे use किया जाता है हम आगे  देखते है । 

         void rectangle(int left,int top, int right, int bottom);

rectangle बनाने के लिए आपको इस function में चारो parameter pass करने होंगे पहले दो parameter, left एंड टॉप upper left corner को represent करते है । 

इसी प्रकार right bottom parameter, rectangle के lower right corner को represent करता है । 

उदहारण के लिए program देखे. 

#include<graphics.h>
#include<conio.h>
void main()
{
rectangle(100,100,200,200);
getch();
}

keypoint- rectangle function कोई भी value return नही करता । 

धीयन दे मैंने यंहा पर दो पैरामीटर में 100 ,100 एंड दो parameter में 200,200 लिखा है । 

यदि आप चारो पैरामीटर में same value pass करेंगे तो आपको output में rectangle एक point के आकर का दिखेगा । 

अब हम समझते है की rectangle function में value कैसे पास करनी है ।
यंहा पर में आपको बोहुत ही आसान तरीके से समझाने की कोशिश कर रहे है । समझे - function के parameter में आप जो भी value पास करते है वह एक प्रकार का distance होता है जैसे की मैंने पहले पैरामीटर में 100 पास किया है इसका मतलब यह हुआ की compiler rectangle की left arm बनाने के लिए left से 100 pixel छोर देगा । 

Circle(left, top, right, bottom);

ठीक इसी प्रकार जब हमने Top पर 100 लिखा तो यह top से 100 pixel छोर कर 1 लाइन draw कर देगा । तो अब आप रेक्टेंगल draw सीख गए होंगे । 

 यदि आपको रेक्टेंगल बनाने में कोई भी confusion हो तो आप अपना question comment बॉक्स में post करे । 

Advance learning Tutorial में आज के लिए बस इतना ही । आगे हम कुछ और इंटरेस्टिंग function के बारे में सीखेंगे । 


  








3 comments: