NEW: writes two jpg files with -w option (no picseal data yet)

This commit is contained in:
JohnE 2016-10-14 22:53:40 -07:00
parent 3da723c89d
commit b2dad578a0
3 changed files with 17 additions and 10 deletions

View File

@ -144,6 +144,7 @@ class JpgBin:
def markerAppData(self, marker_hex): def markerAppData(self, marker_hex):
self.__addPrevMarkerData(marker_hex, "APP ", False) self.__addPrevMarkerData(marker_hex, "APP ", False)
rec_len = self.__calcSeekBytes() rec_len = self.__calcSeekBytes()
logging.info("length=={}".format(str(rec_len)))
# #
def markerComment(self, marker_hex): def markerComment(self, marker_hex):
@ -156,19 +157,23 @@ class JpgBin:
# #
def markerSOS(self, marker_hex): def markerSOS(self, marker_hex):
self.__addPrevMarkerData(marker_hex, "SOS ") self.__addPrevMarkerData(marker_hex, "SOS ")
self.data_idx += 2
# #
def markerRST(self, marker_hex): def markerRST(self, marker_hex):
self.__addPrevMarkerData(marker_hex, "RST ") self.__addPrevMarkerData(marker_hex, "RST ")
self.data_idx += 2
# #
def markerDQT(self, marker_hex): def markerDQT(self, marker_hex):
rec_len = self.__calcSeekBytes()
self.__addPrevMarkerData(marker_hex, "DQT ") self.__addPrevMarkerData(marker_hex, "DQT ")
rec_len = self.__calcSeekBytes()
# #
def markerDRI(self, marker_hex): def markerDRI(self, marker_hex):
self.__addPrevMarkerData(marker_hex, "DRI ") self.__addPrevMarkerData(marker_hex, "DRI ")
self.data_idx += 4
# #
def markerSOF0(self, marker_hex): def markerSOF0(self, marker_hex):
@ -188,6 +193,7 @@ class JpgBin:
def markerEOI(self, marker_hex): def markerEOI(self, marker_hex):
self.__addPrevMarkerData(marker_hex, "EOI ") self.__addPrevMarkerData(marker_hex, "EOI ")
self.__addPrevMarkerData(marker_hex, "JUST A DUMMY VALUE") self.__addPrevMarkerData(marker_hex, "JUST A DUMMY VALUE")
self.data_idx += 2
# private helper function # private helper function
@ -204,7 +210,6 @@ class JpgBin:
self.prev_mhex = mhex self.prev_mhex = mhex
self.prev_mstr = mstr self.prev_mstr = mstr
self.prev_fpos = cur_fpos self.prev_fpos = cur_fpos
self.data_idx += 2
self.prev_imgData = imgData self.prev_imgData = imgData
# #

View File

@ -3,9 +3,9 @@
# #
class JpgBinWrite: class JpgBinWrite:
soi_marker = 0xffd8 soi_marker = b'\xff\xd8'
eof_marker = 0xffd9 eof_marker = b'\xff\xd9'
picseal_marker = 0xffe0 picseal_marker = b'\xff\xe0'
# #
def __init__(self, jpg_in, jpg_out): def __init__(self, jpg_in, jpg_out):
@ -49,6 +49,7 @@ class JpgBinWrite:
self.fhr.seek(marker.fpos) self.fhr.seek(marker.fpos)
data = self.fhr.read(marker.len) data = self.fhr.read(marker.len)
self.fhw.write(data) self.fhw.write(data)
self.fhw.flush()
# #
# array of the marker information # array of the marker information
@ -62,6 +63,7 @@ class JpgBinWrite:
data = self.fhr.read(marker.len) data = self.fhr.read(marker.len)
self.fhw.write(data) self.fhw.write(data)
self.fhw.flush()
# #
def __writeJpgHeader(self): def __writeJpgHeader(self):

View File

@ -20,14 +20,14 @@ def main():
# create new pub keys, sign hash # create new pub keys, sign hash
# export signature & public key to a new image file # export signature & public key to a new image file
def processImage(image_fn): def processImage(image_fn):
jpg = JpgProc() jpg_proc = JpgProc()
jpg.process(image_fn) jpg_proc.process(image_fn)
jpg.hash() jpg_proc.hash()
if (write_picseal): if (write_picseal):
print("Writing PicSeal JPG files...") print("Writing PicSeal JPG files...")
jpg.writePicSealJpg() jpg_proc.writePicSealJpg()
printImageInfo(jpg) printImageInfo(jpg_proc.jpg)
# #
def printImageInfo(jpg_bin): def printImageInfo(jpg_bin):