Từ 1 tới 6 trên tổng số 6 kết quả

Đề tài: Lập trình đồ họa cơ bản - Hiện tượng nháy hình khi tạo ảnh chuyển động.

  1. #1
    Ngày gia nhập
    03 2008
    Nơi ở
    Đà Nẵng city
    Bài viết
    40

    Mặc định Lập trình đồ họa cơ bản - Hiện tượng nháy hình khi tạo ảnh chuyển động.

    Tình hình chung là mình đang tự học về đồ họa cơ bản, bắt đầu với thư viện graphics.h của TC, sau 1 thời gian tự xem lý thuyết và tự code, nhận thấy rằng :
    - Khi sử dụng các hàm cơ bản để vẽ ảnh, nếu ảnh tĩnh thì ko có vấn đề gì, còn khi ảnh động thì xảy ra hiện tượng nháy hình rất khó chịu, qua tìm hiểu, cũng nge phong phanh được là có các khắc phục vấn đề này.

    Vậy hum nay, mình có 2 câu hỏi như sau:
    - Lý do chính xảy ra hiện tượng nháy hình như vậy?
    - Nếu khắc phục thì khắc phục ntn?

    Mong các bro CViet giúp đỡ

  2. #2
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    1> Hình nhấp nháy ko phải do máy chậm mà là do hàm cleardevice(). Hàm này thực ra nó vẽ lại một hình chữ nhật màu đen có kích thước bằng cả màn hình. Sau đó ta lại vẽ hình tiếp. Như thế mắt ta sẽ thấy hình chữ nhật màu đen nhá lên trước khi thấy hình mới -> đó là hiện tượng nhấp nháy.
    2> ko dùng cleardevice để xóa toàn màn hình, cần vẽ chỗ nào thì xóa chỗ đó hoặc vẽ vào buffer rồi từ buffer vẽ một lần ra màn hình.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  3. #3
    Ngày gia nhập
    03 2008
    Nơi ở
    Đà Nẵng city
    Bài viết
    40

    @mèo :
    1>Mình ko dùng cleardevice(), ví dụ : mình vẽ cái xe như sau :
    1- Lưu ảnh trước khi vẽ xe.
    2- Vẽ xe.
    3- Delay
    4- Lấy ảnh trước đó đè lên.
    2> Giải thích rõ hơn giúp mình về buffer đc hem mèo

  4. #4
    Ngày gia nhập
    07 2008
    Nơi ở
    /media/Anime
    Bài viết
    2,288

    Bạn bấm Shift + F1 tham khảo hàm putimage và getimage trong graphics.h, nó có chỉ rất rõ ràng và dễ hiểu. Bạn dùng hàm getimage để lấy ảnh trước khi vẽ, putimage để vẽ lại ảnh đã lưu. Đó cũng là cách lập trình bằng buffer.
    Càng yêu mèo thì mèo càng mập. Mèo càng mập ta lại càng yêu.

  5. #5
    Ngày gia nhập
    03 2008
    Nơi ở
    Đà Nẵng city
    Bài viết
    40

    Hummm, tóm lại là mình hỏi vì sao bị nháy như vậy, chứ có hỏi cấu trúc lệnh đâu :(. Về khắc phục thì có vài tại liệu nói về chỗ này rồi, nhưng là tiếng anh nên ko hiểu rõ lắm, mới hỏi. Vậy mà... thôi thx mèo anyway! :(

  6. #6
    Ngày gia nhập
    09 2008
    Nơi ở
    Kĩ viện
    Bài viết
    169

    Mặc định Lập trình đồ họa cơ bản - Hiện tượng nháy hình khi tạo ảnh chuyển động.

    1- Lưu ảnh trước khi vẽ xe.
    2- Vẽ xe.
    3- Delay
    4- Lấy ảnh trước đó đè lên.
    Vẽ trực tiếp lên screen buffer?, cả cái xe to thế mà vẽ trực tiếp lên không giật hơi phí

    Buffer là cái ma trận điểm ảnh thôi, kĩ thuật mèo nói à double buffer, nghĩa là không vẽ trực tiếp lên screen buffer mà vẽ lên một cái buffer khác, sau khi vẽ xong thì swap một phát đập cái buffer đó ra màn hình với tốc độ ánh sáng .

    Edit:
    Vậy mà... thôi thx mèo anyway! :(
    Thank kiểu này ngàn lần không muốn "thèm".
    Đã được chỉnh sửa lần cuối bởi NamVoDang : 12-12-2008 lúc 02:32 PM.
    Phá toái hư không - Bạch nhật thăng thiên.

Các đề tài tương tự

  1. Mẹo hay khi chuyển nhà trọn gói, chuyển văn phòng
    Gửi bởi quynhcute trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 20-08-2012, 09:53 PM
  2. Trả lời: 0
    Bài viết cuối: 07-08-2012, 05:12 PM
  3. Chuyển nhà,Chuyển Văn Phòng trọn gói giá rẻ 098.229.5559
    Gửi bởi nguyenrong trong diễn đàn Giới thiệu website, sản phẩm của bạn
    Trả lời: 0
    Bài viết cuối: 26-06-2012, 02:05 PM
  4. Trả lời: 20
    Bài viết cuối: 27-02-2012, 12:05 AM
  5. ADO.NET Chuyể Phần mềm QLNS sang Ngôn ngữ Dynamic Programming. Ai chuyển giúp mình!?
    Gửi bởi huynhanhton trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 0
    Bài viết cuối: 03-04-2011, 11:41 PM

Quyền hạn của bạn

  • Bạn không thể gửi đề tài mới
  • Bạn không thể gửi bài trả lời
  • Bạn không thể gửi các đính kèm
  • Bạn không thể chỉnh sửa bài viết của bạn