0

Python で .jpeg 画像用のファイル カーバーを作成しようとしていますが、残念ながら思ったよりもずっと難しいと感じています。

私が知る限り、私が直面している問題は、サムネイルの画像内の複数の SOI および EOI マーカーが原因です。

サムネイルと実際の画像を分離する方法が必要ですが、EOI が単に FFD9 であることを考えると、それは非常に難しいと思います。

私のコード:

with open(r'\\.\X:', 'rb') as f:

    startfile = 0
    size = 0

    start = '\xFF\xD8\xFF\xE0'
    end = '\xFF\xD9'

    chunksize = 512
    chunk = f.read(chunksize)

    while chunk:

        s = chunk.find(start)
        e = chunk.find(end)

        if s >= 0: startfile = f.tell() - chunksize + s
        if e >= 0: size = f.tell() - chunksize + e + 2

        if startfile and size:
            eof = size-startfile
            images.append((startfile, eof))
            startfile = size = 0

        chunk = f.read(chunksize)

    for pos, item in enumerate(images):
        with open(str(pos)+'.jpg', 'wb') as o:
            f.seek(item[0])
            o.write(f.read(item[1])
4

0 に答える 0