1
我最近發現BMP圖像可以具有負高度,這意味着像素在文件中從頂部到底部存儲。我們的產品代碼拒絕了來自用戶的文件,因爲它將高度解釋爲4294966272(無符號32位值),而它實際上是-1024(有符號32位值),實際上意味着1024像素的高度。我設法找到的BITMAPINFOHEADER格式的最「官方」文檔是Wikipedia,它說寬度也是signed integer
。如何正確驗證BMP輸入?BITMAPINFOHEADER BMP中的寬度字段可以爲負值嗎?