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ự,