2011-03-09 54 views

回答

1

似乎有一個恆定的偏移方向,使,如果這是你想改變,那麼我會不會費事去解析它所有,只是找出偏移量(我認爲這只是GENERICFILEHEADER的大小加上方向字的高字節的一個字節),並直接讀取/操作它。

使用bytearray將是我的第一選擇。

b = bytearray(your_byte_data) 
big_endian = (b[0] == 0x52) 
offset = 768 + big_endian 
current_orientation = b[offset] # get current orientation 
b[offset] = new_offset   # set it to something new 
open('out_file', 'wb').write(b) 
+0

嗨,寫入數據時:偏移取決於如果它在一個或大或小尾數格式,所以這樣的事情可能會爲你工作,改變由一個偏移值,我可以直接給它分配一個整數嗎?或者我需要以某種方式轉換?無論如何,你的解決方案似乎大部分工作。 – user443850 2011-03-09 21:55:54

+0

是的,它可以工作,但由於某種原因,它沒有達到我的預期。我得到的值爲0,根據規範它可以得到一個從0到7的值,但是除0以外的任何其他值都不會被識別,但我想這與文件本身有關,而且您的解決方案非常棒。謝謝。 – user443850 2011-03-09 22:08:23

0

你可能要考慮使用Imagemagic來做到這一點。開源並支持dpx格式。

相關問題