00 01: End Of RLE Data, Writing Decoded File
(self,*arg)
| 130 | self.rPix += 1 |
| 131 | |
| 132 | def EORLE(self,*arg): |
| 133 | """ 00 01: End Of RLE Data, Writing Decoded File """ |
| 134 | self.EORLED = True |
| 135 | self.EOSL() |
| 136 | if not self.buf == "": self.tmp.write(self.buf) |
| 137 | |
| 138 | self.tmp.seek(0) |
| 139 | self.dec = self.tmp.read() |
| 140 | self.tmp.close() |
| 141 | |
| 142 | self.i.seek(0) |
| 143 | self.o.write(self.i.read(2)) #'BM' signature |
| 144 | |
| 145 | fs = self.offset + len(self.dec) #FileSize: (Header + Color Palette) + ImageData |
| 146 | fsize = "" #filesize string value |
| 147 | for i in range(4): fsize+=chr((fs & (0xFF<<8*i))>>8*i)#ordering as little-endian |
| 148 | self.o.write(fsize) |
| 149 | |
| 150 | self.i.seek(6) |
| 151 | self.o.write(self.i.read(24))#writing 24-byte same data from 6 offset |
| 152 | |
| 153 | self.o.write('\x00\x00\x00\x00')#compression-type: none |
| 154 | |
| 155 | imgdsize = ""#image data size string value |
| 156 | for i in range(4): imgdsize+=chr((len(self.dec)&(0xFF<<8*i))>>8*i) |
| 157 | self.o.write(imgdsize) |
| 158 | |
| 159 | self.i.seek(38) |
| 160 | self.o.write(self.i.read(self.offset-38))#writing left same data from 38 |
| 161 | |
| 162 | self.o.write(self.dec) |
| 163 | |
| 164 | self.o.close() |
| 165 | self.i.close() |
| 166 | |
| 167 | |
| 168 | #BI_RLE(inputfile,outputfile) |