我試圖用C手動讀取和打開一個BMP文件,並且在閱讀了BMP規範並瞭解這些文件的工作方式後,頭文件中的字節定義等於bfOffBits
和biWidth
。因此,例如bfOffBits
等於4個字節,在我的測試位圖中是'8A 04 00 00'。我從這裏到達圖像的偏移量數據的十進制等效數值究竟如何?如何計算bfOffBits
我非常,非常到C新這樣的語言是如何工作的概念是我考慮到我工作的主要語言是PHP非常不同的,這樣下去我很容易:)
目前,我我通過在C這感覺完全錯了此功能,但被排序的工作了一段偏移值,而不是其他的偏移值
int calculateBytes(int bytes[4]) {
int Value = bytes[0];
if (bytes[1] > 0) {
if (bytes[0] == 0) {
Value = 256;
}
Value = Value * bytes[1];
}
if (bytes[2] > 0) {
if (bytes[1] == 0) {
if (bytes[0] == 0) {
Value = 256;
}
Value = Value * 256;
}
Value = Value * bytes[2];
}
if (bytes[3] > 0) {
if (bytes[2] == 0) {
if (bytes[1] == 0) {
if (bytes[0] == 0) {
Value = 256;
}
Value = Value * 256;
}
Value = Value * 256;
}
Value = Value * bytes[3];
}
return Value;
}
啊這個工作!非常容易理解,謝謝! –