• Thứ Ba, 16/12/2003 15:09 (GMT+7)

    Câu hỏi :
    Tôi muốn viết 1 hàm trong C++ 3.1 ở chế độ đồ họa ngoài DOS có chức năng tạo 1 khung mờ mờ có thể thấy được dòng chữ ở bên dưới khung. Xin hướng dẫn?

    Trả lời :

    Bạn có thể tạo hiệu ứng dòng chữ hiển thị mờ mờ dưới 1 khung đồ họa trong C++ trên DOS bằng cách gọi hàm outtextxy() để hiển thị dòng chữ trước rồi gọi hàm putimage() để đặt khung ảnh mờ (có sẵn) lên vị trí của dòng chữ dùng 1 trong các chế độ thực hiện AND_PUT, OR_PUT hay XOR_PUT. Do môi trường đồ họa trên DOS chỉ dùng 16 palette màu (quá ít) nên kết quả không trung thực lắm, nếu lập trình trên Windows ở chế độ TrueColor thì kết quả sẽ tốt hơn. Sau đây là đoạn code C++ mẫu demo ý tưởng trên :

    int size;

    char *pbuf;

       // tạo khung mờ

       setfillstyle(SOLID_FILL,7);

       bar(0,0,300,40);

       size = imagesize(0,0,300,40);

       pbuf = malloc(size);

       // lưu giữ khung mờ

       getimage(0,0,300,40,pbuf);

       // xóa khung mờ

       setfillstyle(SOLID_FILL,0);

       bar(0,0,300,40);

       // xuất dòng chữ màu hồng

       changetextstyle( TRIPLEX_FONT, HORIZ_DIR, 4 );

       settextjustify( LEFT_TEXT, TOP_TEXT );

       setcolor(MAGENTA);

       outtextxy(4,0,”Nguyen Van Hiep”);

       // hiển thị lại khung mờ trên dòng chữ dùng cách AND

       putimage(0,0,pbuf,AND_PUT);

       getch();
    Chuyên mục: Khác