// PAINT BRUSH //__________________________________________________________________________ // ASSIGNMENT # 8 // SUBMITTED TO: // Mr. ABDUL RAZZAQ // SUBMITTED BY: // UMAR BASIR SHEIKH // 001724-072 // Please Set the path of icons in Interface function before using #include <dos.h> #include <conio.h> #include <math.h> #include <stdlib.h> #include <stdio.h> #include <iostream.h> #include <fstream.h> #define PRESS 1 int x,y,x1,y1,x2,y2,x3,y3; int color=0,prev_color=0; unsigned char* buffer; int get_pixel(int x,int y) { REGS r; r.h.ah=0x0d; r.x.cx=x; r.x.dx=y; r.h.bh=0; int86(0x10, &r, &r); return r.h.al; }
void setmode(int mode) { REGS r; r.h.ah=0x00; r.h.al=mode; int86(0x10, &r, &r); } void plot_pixel(int x,int y, int color) { REGS r; r.h.ah=0x0c;//ghi cham sang ra man hinh r.h.al=color;//so hieu cua mau r.x.cx=x;//toa do cot r.x.dx=y;//toa do hang r.h.bh=0;//so hieu trang man hinh int86(0x10, &r, &r); }
void line_dda(int x1, int y1, int x2, int y2, int color) { if (x1==x2 && y1==y2) {plot_pixel(x1,y1,color); return;} int i,loop; float x_inc, y_inc,x,y,dx,dy; dx=x2-x1; dy=y2-y1; if( abs(dy)<=abs(dx) ) loop=abs(dx); else loop=abs(dy); x_inc=(float)dx/loop; y_inc=(float)dy/loop; x=x1; y=y1; plot_pixel( round(x), round(y), color ); for(i=1; i<=loop; i++) { x+=x_inc; y+=y_inc; plot_pixel( round(x), round(y), color ); } } void polar_circle(int xc,int yc,int r, int color) { float x,y; int i;
for (i=0; i<=360; i++) { x = xc + r*cos(3.1415*i/180); y = yc + r*sin(3.1415*i/180); plot_pixel(x,y,color); } } void polar_ellipse(int xc,int yc,int rx,int ry, int color) { float x,y; int i;
for (i=0; i<=360; i++) { x = xc + rx*cos(3.1415*i/180); y = yc + ry*sin(3.1415*i/180); plot_pixel(x,y,color); } }
void rectangle(int x1, int y1, int x2, int y2, int color) { line_dda(x1,y1,x2,y1,color); line_dda(x1,y1,x1,y2,color); line_dda(x1,y2,x2,y2,color); line_dda(x2,y1,x2,y2,color); }
void fill_rectangle(int x1, int y1, int x2, int y2, int color) { for(int i=x1; i<=x2; i++) line_dda(i,y1,i,y2,color); }
Số lần được cảm ơn :Message reputation : 100% (2 votes)
Được sửa bởi Kevin[F] ngày Wed 23 Jun 2010, 9:56 am; sửa lần 2. (Reason for editing : Add Code Tag)
Fri 18 Jun 2010, 10:40 am
Moderator
KingKongK.A
Trưởng Phòng Hậu Cần
Tổng số bài gửi : 50
XK Coin : 417
Thanked : 20
Tiêu đề: Re: Tro giup ve C/C++
mình ko hiểu ý bạn mún hỏi j về đoạn code này?????
Fri 18 Jun 2010, 2:24 pm
..:: Royal Leader ::..
Administrator
Kevin[F]
Royal Leader
Tổng số bài gửi : 475
XK Coin : 6233
Thanked : 108
Status : ..:: Royal Leader ::..
Tiêu đề: Re: Tro giup ve C/C++
KingKongK.A đã viết:
mình ko hiểu ý bạn mún hỏi j về đoạn code này?????
Nguyên văn câu hỏi ở đây nè:
luong đã viết:
Nho cac ban giai thich jup minh tung dong lenh trong bai code sau, minh tham khao tren mang ma khong hieu lam
@luong: sr vì đã tự ý sửa chữa bài viết. (edit cho dễ nhìn)
Fri 18 Jun 2010, 4:07 pm
New Member
luong
Tổng số bài gửi : 4
XK Coin : 51
Thanked : 6
Tiêu đề: Re: Tro giup ve C/C++
khong co j, nho` cac ban giai thich jup minh voi.
Sat 19 Jun 2010, 8:25 am
..:: Royal Leader ::..
Administrator
Kevin[F]
Royal Leader
Tổng số bài gửi : 475
XK Coin : 6233
Thanked : 108
Status : ..:: Royal Leader ::..
Tiêu đề: Re: Tro giup ve C/C++
Bạn thông cảm,Modz sẽ sớm giải quyết dùm bạn
@KingKongK.A: Làm việc đi thèn làm biếng
Sat 19 Jun 2010, 10:59 am
New Member
luong
Tổng số bài gửi : 4
XK Coin : 51
Thanked : 6
Tiêu đề: Re: Tro giup ve C/C++
ok to' doi ket qua tu` moi ng`. Thanks moi ng trc nhe'
Mon 21 Jun 2010, 8:30 am
..:: Royal Leader ::..
Administrator
Kevin[F]
Royal Leader
Tổng số bài gửi : 475
XK Coin : 6233
Thanked : 108
Status : ..:: Royal Leader ::..
Tiêu đề: Re: Tro giup ve C/C++
Mod Soft đang bận làm đồ án nên ko có thời gian trả lời câu hỏi của bạn. Câu trả lời tổng quát cũng chỉ là: Đoạn mã Paint vẽ bằng C++ còn chức năng mỗi đoạn lệnh thì mình mù tịt (ko phải chuyên môn của mình). Mình sẽ cố gắng hỏi giúp bạn. Nếu có kết quả mình sẽ sớm trả lời. Thành thật xin lỗi vì ko thể giải quyết sớm cho bạn.
Wed 23 Jun 2010, 8:23 am
..:: Royal Leader ::..
Administrator
Kevin[F]
Royal Leader
Tổng số bài gửi : 475
XK Coin : 6233
Thanked : 108
Status : ..:: Royal Leader ::..
Tiêu đề: Re: Tro giup ve C/C++
Câu trả lời từ sư huynh Dennis:
Dennis - vietyoung Forums đã viết:
CÁI NÀY MÀ KÊU TỪNG DÒNG GIẢI THÍCH CHẮC CHẾT LUÔN WA ... TÓM LẠI ĐÂY LÀ 1 CHƯƠNG TRÌNH VẼ GIỐNG NHƯ PAINT BRUSH CỦA WINDOWS... CẦN PHẢI CÓ THỜI GIAN GIẢI THÍCH , KO HIỂU CHỔ NÀO THÌ HỎI NG TA GIẢI THÍCH , CHỨ EM KÊU GIẢI THÍCH TỪNG DÒNG LỆNH AI MÀ RÃNH , CÒN MUỐN BIẾT RÕ TỪNG DÒNG NÓ CÓ TÁC DỤNG GÌ THÌ RA NHÀ SÁCH MUA SÁCH HƯỚNG DẪN THỰC HÀNH C++ NHÉ
Chỉ có thể hỏi những dòng cần thiết thui vì đoạn code này dài wá
Wed 23 Jun 2010, 8:34 am
New Member
luong
Tổng số bài gửi : 4
XK Coin : 51
Thanked : 6
Tiêu đề: Re: Tro giup ve C/C++
co the khong can thiet tung dong lenh, nhung co the giai thich jum y nghia cua cac ham trong bai
P/S: Đã gửi yêu cầu của bạn đi, mình sẽ cố gắng cập nhật kết quả sớm nhất có thể.
Được sửa bởi Kevin[F] ngày Wed 23 Jun 2010, 9:55 am; sửa lần 1. (Reason for editing : Reply!)
Fri 25 Jun 2010, 9:30 am
..:: Royal Leader ::..
Administrator
Kevin[F]
Royal Leader
Tổng số bài gửi : 475
XK Coin : 6233
Thanked : 108
Status : ..:: Royal Leader ::..
Tiêu đề: Re: Tro giup ve C/C++
vẫn chưa có kết quả khả quan, thành thật xin lỗi
Số lần được cảm ơn :Message reputation : 0% (1 vote)