Công cụ bảo vệ mã nguồn .NET mạnh nhất, không thể unpack, miễn phí cho các khách hàng đầu tiên đăng ký.
Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Các hàm GetPixel() và PutPixel() của thư viện nào?

  1. #1
    Ngày gia nhập
    10 2007
    Bài viết
    50

    Mặc định Các hàm GetPixel() và PutPixel() của thư viện nào?

    những hàm này là hàm của thư viện nào vậy các bạn, mình nghe nói khi viết các ứng dụng đồ họa, nếu dùng các hàm này thường tốc độ xử lí sẻ rất chậm, vậy trong OpenGL có hàm nào để thay thế hai hàm này không?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.

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

    GetPixel và PutPixel là 2 hàm của thư viện đồ họa GDI của windows. Hai hàm này thực hiện rất chậm. Trong OpenGL, hàm GetPixel thì mình ko biết, nhưng PutPixel thì có hàm glPoint2x thay thế. Nhìn chung cũng hạn chế dùng hàm glPoint2x vì nó cũng khá chậm so với các hàm khác.
    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
    10 2007
    Bài viết
    50

    mình đang rối quá đây, không biết có hàm nào xác định màu của một điểm bất kì nếu biết tọa độ của nó không, hình như là glReadPixels(), mình đọc tren MSDN nhưng không hiểu rỏ hàm này lắm

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

    MSDN
    C++ Code:
    1. void glReadPixels(
    2.   GLint x,
    3.   GLint y,
    4.   GLsizei width,
    5.   GLsizei height,
    6.   GLenum format,
    7.   GLenum type,
    8.   GLvoid *pixels
    9. );
    Hàm này lấy một khối pixel hình chữ nhật trên màn hình.
    - x, y là tọa độ góc trái trên của hình chữ nhật
    - width, height là chiều rộng và chiều cao của hình chữ nhật
    - format : thường là GL_RGB hoặc GL_RGBA
    - type : GL_UNSIGNED_BYTE là tốt nhất
    - pixels : địa chỉ đến buffer để lưu khối pixel vừa lấy được. Buffer này phải có kích thước tối thiểu là (width * height * 4) byte
    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
    10 2007
    Bài viết
    50

    xin lỗi làm phiền meoconlongvang, cho minh xin một ví dụ đi, chứ cái này trên MSDN thì đọc rồi, nhưng không biết cách làm sao để lấy màu của điểm đó đây: đó là chổ tham số pixels, mình không biết khối pixel này chứa những gì khi nó lấy được. giả sử mình format theo kiểu GL_RGB, type là GL_ÚNIGNED_BYTE, vậy phải tạo struct sao đây ?

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

    Mặc định Các hàm GetPixel() và PutPixel() của thư viện nào?

    Bạn nên dùng format kiểu GL_RGBA kết hợp với type GL_UNSIGNED_BYTE, kết quả trả về sẽ là mảng pixels có kích thước width * height, mỗi phần tử trong mảng là một số long 4 byte, 3 byte thấp lần lượt là các màu R,G,B. Bạn muốn lấy 1 pixel (x, )y trong khối pixel vừa lấy được thì dùng đoạn code này :

    C++ Code:
    1. pixels[ ((y * width) + x) * 4];
    Chúc bạn thành công.
    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.

  7. #7
    Ngày gia nhập
    01 2013
    Bài viết
    3

    Mặc định Cho mình biết ý nghĩa của hàm getpixel ko ?

    Cho mình biết ý nghĩa của hàm getpixel ko ?
    Công cụ bảo vệ mã nguồn .NET mạnh nhất hiện tại, miễn phí cho các khách hàng đầu tiên đăng ký.
    Đi khắp thế gian không ai bằng mẹ

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

  1. Graphic Xây dựng hàm putpixel, delay(t) giống trong C++
    Gửi bởi nguoirung1.6 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 05-04-2011, 12:22 AM
  2. Thắc mắc về putpixel!
    Gửi bởi kissl0ve trong diễn đàn Nhập môn lập trình C/C++
    Trả lời: 2
    Bài viết cuối: 23-08-2010, 04:13 PM
  3. Set/GetPixel
    Gửi bởi SVPro trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 0
    Bài viết cuối: 22-04-2010, 10:48 PM
  4. cách sử dụng hàm putpixel trong C#
    Gửi bởi kullhandsome trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 05-04-2010, 07:48 PM
  5. xây dựng hàm putpixel ?
    Gửi bởi tuanson214 trong diễn đàn Thắc mắc lập trình C/C++/C++0x
    Trả lời: 6
    Bài viết cuối: 26-11-2007, 10:58 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