có ai bít định dạng của file bitmap không?

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi bluerabbit, 9/8/05.

  1. bluerabbit

    bluerabbit Mr & Ms Pac-Man

    Tham gia ngày:
    17/3/05
    Bài viết:
    168
    Nơi ở:
    chicken planet
    tui đang làm một số việc liên quan đến file ảnh bitmap nhưng không hiểu các nó lưu trữ thông tin như thế nào, tui chỉ biết vài cái sơ sơ? ví dụ như nó lưu một điểm ảnh bằng 3 byte liên tiếp nhau để biểu diễn các màu (đỏ,xanh,vang??), nhưng còn 54 byte đầu tiên của file bitmap thì nó biểu diễn cái gì tui không rõ, ai làm ơn chỉ dùm tui được không?
     
  2. longakka

    longakka Đầu gấu nhà quê Lão Làng GVN

    Tham gia ngày:
    3/9/02
    Bài viết:
    3,011
    Nơi ở:
    Scumm Bar
    Còn tuỳ nó có nén hay không nữa
    Bạn vào đây tham khảo
    http://atlc.sourceforge.net/bmp.html
    Có dính vãi chữ Tàu, nhưng cũng không ảnh hưởng gì...
     
  3. n00bNo0

    n00bNo0 Donkey Kong

    Tham gia ngày:
    21/12/04
    Bài viết:
    359
    Nơi ở:
    Noob land
    Đây nay

    typedef struct tagBITMAPINFOHEADER{
    DWORD biSize;
    LONG biWidth;
    LONG biHeight;
    WORD biPlanes;
    WORD biBitCount;
    DWORD biCompression;
    DWORD biSizeImage;
    LONG biXPelsPerMeter;
    LONG biYPelsPerMeter;
    DWORD biClrUsed;
    DWORD biClrImportant;
    } BITMAPINFOHEADER, *PBITMAPINFOHEADER;
     
  4. bluerabbit

    bluerabbit Mr & Ms Pac-Man

    Tham gia ngày:
    17/3/05
    Bài viết:
    168
    Nơi ở:
    chicken planet
    cái đó tui xem qua rùi, không đủ, thế này nhá, cái DWORD biSizeImage; nó có nghĩa là gì? tui xem một số file bitmap thấy kết thúc mỗi một dòng ảnh điểm thì nó lại chèn thêm một số ký tự vào để kết thúc dòng đó, số ký tự này có file thì có 2 byte, có file có 1byte, có file thì không có, bởi vậy nên tui không hiểu thế nào, nhưng nếu bỏ hai ký tự này đi thì chương trình sẽ không đọc đúng cái hình bitmap nữa. Tui nghĩ là do cái bisizeimage đó, trong trang của ông nó có câu đại loại là: "this number must be rounded to the next 4 bytes", chả hiểu thế khỉ nào? ông nào giải thích giùm. À, có thể tui nói hơi khó hiểu, như thế này nhé: tui có ảnh bitmap 24bit,ok? không nén, như vậy mỗi một pixel của ảnh thì tương đương với 3 byte trong file bitmap, isn't it??? nếu vậy một ảnh có kích thước 150x200 pixel phải có 150x200x3 byte +54 byte ở đầu đúng không, nhưng thực ra không phải vậy. tuỳ theo kích thước ảnh, có kích thước dùng công thức trên là đúng, còn có ảnh, thì không mà nó phải cộng thêm 200xA ( A=0,1,2,3), tức là mỗi một dòng thì nó chèn thêm vào đó A ký tự,
     

Chia sẻ trang này