Я создаю черно-белые изображения TIF с нуля и рисую текст на них с помощью библиотеки изображений Python. Использование Python 2.7, PIL 1.1.7 на Windows 7.Перевернутые изображения tiff и тег фотометрической интерпретации в PIL?
Для создания каждого изображения, я использую этот код
def newBinaryImage(w,h):
return Image.new("1",(w,h),1)
Когда я открываю их в любой программе просмотра изображений Windows, они выглядят отлично. После того, как я загружу их в базу данных, а затем просмотрю их с помощью пользовательского графического интерфейса, они отлично смотрятся в средстве просмотра графического интерфейса. Однако, когда я пытаюсь распечатать их из графического интерфейса, они становятся инвертированными и распечатываются как белый текст на черном фоне. (Это не происходит при печати перед загрузкой.)
После контакта с продавцом, создавшим пользовательское программное обеспечение, они сказали, что считают, что проблема может быть связана с тегом фотометрической интерпретации, и его можно было исправить с помощью сжатия Group4. Есть ли способ сделать это в PIL, или есть что-нибудь, что может/должно быть изменено при создании изображения?
Вот Image.DEBUG на одном из моих изображений:
>>>Image.open("1010.tif").show()
tag: ImageWidth (256) - type: short (3) - value: (1200,)
tag: ImageLength (257) - type: short (3) - value: (1600,)
tag: Compression (259) - type: short (3) - value: (1,)
tag: PhotometricInterpretation (262) type: short (3) - value: (1,)
tag: StripOffsets (273) - type: long (4) - value: (98,)
tag: RowsPerStrip (278) - type: short (3) - value: (1600,)
tag: StripByteCounts (279) - type: long (4) - value: (240000,)
*** Summary ***
- compression: raw
- photometric_interpretation: 1
- planar_configuration: 1
- fill_order: 1
- size: (1200,1600)
format key: ('II', 1, 1, 1, (1,),())
- raw mode: 1
- pil mode: 1
Принтеры традиционно игнорируют палитру на 1-битных изображениях и просто предполагают, что 0 = белый и 1 = черный. Вам нужно изменить свое изображение, чтобы оно соответствовало, но я не думаю, что PIL позволяет вам изменять палитру на режиме «1». –