[英]Undersanding IDAT chunk to flip the image
首先是上下文。 我需要翻轉PNG圖片。 我得到每個字節的信息(按順序),我必須將其作為流翻轉。 我設法划分並解析這些塊。 但是當我擁有IDAT塊數據時,我不知道如何處理它來翻轉它。
IHDR中的INFO:位深度= 08(每個樣本8位),顏色類型=06。圖像為800 x 600 = 480000
IDAT大小為179502,因此是像素大小總數(奇怪)的0.374。
如果翻轉像素(所有IDAT數據都保持不變),則得到的圖像在打開時只會顯示透明圖像。 我也嘗試使用4個字節= 1像素,因為我具有RGB + alpha,但仍然沒有良好的效果。 (始終是透明圖像...也很奇怪...我希望是隨機圖像,而不是透明圖像)。
我已經了解到信息已壓縮,所以我的計划是對其進行解壓縮,翻轉RGB陣列,然后再次進行壓縮 ,但是...如何解壓縮並再次對其進行壓縮? 我找不到執行此操作的信息/算法。
我也幾乎總是在IDAT部分之后找到0x78十六進制,因此我推斷出壓縮像素數組不是直接在IDAT之后開始,而是在...之后一些字節開始。如果這樣的話, 它是如何組織的? 它是僅直接像素陣列還是在IDAT塊數據之前和/或之后有一些信息?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.