সি প্রোগ্রামিং রান করে এর মাঝেই আকাআকি করতে চাইলে নিচের প্রোগ্রাম নোটপ্যাড এ পেষ্ট করে romel.cpp ফাইল এ সেভ করে তারপর Turbo c তে bin এর মাঝে রেখে চালু করেই মজা দেখো। না দেখলে মিস করবে।
-
-
-
-
-
#include<graphics.h> #include<dos.h> #include<math.h> #include<stdlib.h> #include<stdio.h> #include<conio.h> union REGS i, o; int leftcolor[15]; int get_key() { union REGS i,o; i.h.ah = 0; int86(22,&i,&o); return ( o.h.ah ); } void draw_color_panel() { int left, top, c, color; left = 100; top = 436; color = getcolor(); setcolor(GREEN); rectangle(4,431,635,457); setcolor(RED); settextstyle(TRIPLEX_FONT,0,2); outtextxy(10,431,"Colors : "); for( c = 1 ; c <= 15 ; c++ ) { setfillstyle(SOLID_FILL, c); bar(left, top, left+16, top+16); leftcolor = left; left += 26; } setcolor(color); } void draw_shape_panel() { int left, top, c, color; left = 529; top = 45; color = getcolor(); setcolor(GREEN); rectangle(525,40,633,255); for( c = 1 ; c <= 7 ; c++ ) { rectangle(left, top, left+100, top+25); top += 30; } setcolor(RED); outtextxy(530,45,"Bar"); outtextxy(530,75,"Line"); outtextxy(530,105,"Pixel"); outtextxy(530,135,"Ellipse"); outtextxy(530,165,"Freehand"); outtextxy(530,195,"Rectangle"); outtextxy(530,225,"Clear"); setcolor(color); } void change_color(int x, int y) { int c; for( c = 0 ; c <= 13 ; c++ ) { if( x > leftcolor && x < leftcolor && y > 437 && y < 453 ) setcolor(c+1); if( x > leftcolor[14] && x < 505 && y > 437 && y < 453 ) setcolor(WHITE); } } char change_shape(int x, int y) { if ( x > 529 && x < 625 && y > 45 && y < 70 ) return 'b'; else if ( x > 529 && x < 625 && y > 75 && y < 100 ) return 'l'; else if ( x > 529 && x < 625 && y > 105 && y < 130 ) return 'p'; else if ( x > 529 && x < 625 && y > 135 && y < 160 ) return 'e'; else if ( x > 529 && x < 625 && y > 165 && y < 190 ) return 'f'; else if ( x > 529 && x < 625 && y > 195 && y < 220 ) return 'r'; else if ( x > 529 && x < 625 && y > 225 && y < 250 ) return 'c'; return 0; } void showmouseptr() { i.x.ax = 1; int86(0x33,&i,&o); } void hidemouseptr() { i.x.ax = 2; int86(0x33,&i,&o); } void restrictmouseptr( int x1, int y1, int x2, int y2) { i.x.ax = 7; i.x.cx = x1; i.x.dx = x2; int86(0x33,&i,&o); i.x.ax = 8; i.x.cx = y1; i.x.dx = y2; int86(0x33,&i,&o); } void getmousepos(int *button,int *x,int *y) { i.x.ax = 3; int86(0x33,&i,&o); *button = o.x.bx; *x = o.x.cx; *y = o.x.dx; } main() { int gd = DETECT,gm; int maxx,maxy,x,y,button,prevx,prevy,temp1,temp2,key,color; char ch = 'f' ; // default free-hand drawing initgraph(&gd,&gm,"C:\\TC\\BGI"); maxx = getmaxx(); maxy = getmaxy(); setcolor(BLUE); rectangle(0,0,maxx,maxy); setcolor(WHITE); settextstyle(SANS_SERIF_FONT,HORIZ_DIR,2); outtextxy(maxx/2-180,maxy-28,"Simanto Romel's Paint BOX"); draw_color_panel(); draw_shape_panel(); setviewport(1,1,maxx-1,maxy-1,1); restrictmouseptr(1,1,maxx-1,maxy-1); showmouseptr(); rectangle(2,2,518,427); setviewport(1,1,519,428,1); while(1) { if(kbhit()) { key = get_key(); if( key == 1 ) { closegraph(); exit(0); } } getmousepos(&button,&x,&y); if( button == 1 ) { if( x > 4 && x < 635 && y > 431 && y < 457 ) change_color( x, y ); else if ( x > 529 && x < 625 && y > 40 && y < 250 ) ch = change_shape( x, y ); temp1 = x ; temp2 = y ; if ( ch == 'f' ) { hidemouseptr(); while( button == 1 ) { line(temp1,temp2,x,y); temp1 = x; temp2 = y; getmousepos(&button,&x,&y); } showmouseptr(); } while( button == 1) getmousepos(&button,&x,&y); /* to avoid interference of mouse while drawing */ hidemouseptr(); if( ch == 'p') putpixel(x,y,getcolor()); else if ( ch == 'b' ) { setfillstyle(SOLID_FILL,getcolor()); bar(temp1,temp2,x,y); } else if ( ch == 'l') line(temp1,temp2,x,y); else if ( ch == 'e') ellipse(temp1,temp2,0,360,abs(x-temp1),abs(y-temp2)); else if ( ch == 'r' ) rectangle(temp1,temp2,x,y); else if ( ch == 'c' ) { ch = 'f'; // setting to freehand drawing clearviewport(); color = getcolor(); setcolor(WHITE); rectangle(2,2,518,427); setcolor(color); } showmouseptr(); } } }
TURBO C তে কাজ করতে হবে। CODEBLOCK e এরর দেখাবে।
এরকম আরো প্রোগ্রামিং পেতে ভিজিট করুন প্রোগ্রামিং আড্ডা তে
আমি প্রোগ্রামার রোমেল। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 15 বছর যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 87 টি টিউন ও 732 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 0 টিউনারকে ফলো করি।
ফেসবুকে আমি http://www.facebok.com/simantoromel.bd আমার ওয়েবসাইট http://www.corposolution.com
বস ভালো হইছে