39 lines
1.2 KiB
Diff
39 lines
1.2 KiB
Diff
--- Imaging-1.1.7-orig/PIL/TiffImagePlugin.py 2009-11-01 02:44:12.000000000 +0200
|
|
+++ Imaging-1.1.7/PIL/TiffImagePlugin.py 2012-11-13 03:45:11.280000132 +0200
|
|
@@ -69,7 +69,7 @@
|
|
def il32(c,o=0):
|
|
return ord(c[o]) + (ord(c[o+1])<<8) + (ord(c[o+2])<<16) + (ord(c[o+3])<<24)
|
|
def ol16(i):
|
|
- return chr(i&255) + chr(i>>8&255)
|
|
+ return chr(i>>8&255) + chr(i&255)
|
|
def ol32(i):
|
|
return chr(i&255) + chr(i>>8&255) + chr(i>>16&255) + chr(i>>24&255)
|
|
|
|
@@ -197,6 +197,8 @@
|
|
}
|
|
|
|
PREFIXES = ["MM\000\052", "II\052\000", "II\xBC\000"]
|
|
+PREFIX_TO_BYTEORDER = {"MM":"b", "II":"l"}
|
|
+BYTEORDER_TO_PREFIX = {"b":"MM", "l":"II"}
|
|
|
|
def _accept(prefix):
|
|
return prefix[:4] in PREFIXES
|
|
@@ -219,6 +221,8 @@
|
|
self.o16, self.o32 = ol16, ol32
|
|
else:
|
|
raise SyntaxError("not a TIFF IFD")
|
|
+ self.byteorder = PREFIX_TO_BYTEORDER[self.prefix]
|
|
+
|
|
self.reset()
|
|
|
|
def reset(self):
|
|
@@ -749,7 +753,7 @@
|
|
def _save(im, fp, filename):
|
|
|
|
try:
|
|
- rawmode, prefix, photo, format, bits, extra = SAVE_INFO[im.mode]
|
|
+ rawmode, prefix, byteorder, photo, format, bits, extra = SAVE_INFO[im.mode]
|
|
except KeyError:
|
|
raise IOError, "cannot write mode %s as TIFF" % im.mode
|
|
|