所以我正在創建一個HSSFSheet使用apache poi和自己的低級代碼集的背景位圖。該https://www.openoffice.org/sc/excelfileformat.pdf聲明了Record BITMAP, BIFF8:像素數據(位圖的高度線數組,從底線到頂線,見下文)...在每一行中,所有像素都是從左到右寫入的。每個像素都存儲為 3 字節數組:像素顏色的紅色、綠色和藍色分量,按此順序。通過在最后一個像素后插入零字節,每行的大小與 4 的倍數對齊。完整聲明見PDF圖片:為了實現這一點,我的方法是使用java.awt.image.BufferedImagetype BufferedImage.TYPE_3BYTE_BGR。然后以正確的順序(從底線到頂線)從該 BufferedImage 的柵格中獲取所有字節 RGB,并在寬度(x 方向)上填充到 4 的倍數。代碼有效,但兩者之間的部分// --- this part takes much time but I have not found any better possibility和// ---需要很多時間,因為需要為每個像素獲取 3 個字節的 RGB 才能根據上述奇怪的格式獲取它們。有誰知道更好的方法?也許上面奇怪的格式并沒有我想象的那么奇怪,而且已經有其他用法了?
使用 java.awt.image.BufferedImage 創建 BIFF8 BITMAP
慕尼黑5688855
2021-09-29 15:27:00