У меня есть рукописный текст в качестве объекта BufferedImage. Мне нужно сгенерировать его как файл изображения tiff с техникой сжатия CCITT T.4.Как создать tiff-изображение с использованием метода CCITT T.4 для изображений с прозрачным фоном
Но CCITT T.4 требует, чтобы изображение было 1-битовым изображением глубины. Мое изображение в BufferedImage имеет глубину в 32 бит. Когда я конвертирую его в 1 бит, используя convert1() funtion, черная рукопись исчезает, и все изображение становится черным.
Я читал в другом месте, что как 1-битные изображения черные & белые, поэтому при преобразовании в 1 бит он преобразует прозрачные биты слоя в черный. Мои рукописные заметки тоже черного цвета, поэтому все изображение становится черным.
Я могу генерировать tiff используя технику LZW без проблем. и даже с CCITT T.4, но только на 24-битных изображениях. Когда изображение 32 бит (с дополнительным уровнем прозрачности), изображение становится черным. Может ли кто-нибудь объяснить мне, как преобразовать изображение в формат CCITT T.4 для изображений с прозрачностью.
Вы пробовали положить изображение на белом фоне перед преобразованием? Если ваше изображение прозрачно с черным текстом, вы также можете нарисовать полностью непрозрачный белый прямоугольник «позади» вашего текста, используя правильный режим Porter/Duff (я думаю, что это «DstAtop», см. Класс «AlphaComposite»). – haraldK
Я добавил AlphaComposite.DsAtop, а затем использовал метод setPaint White и fillrect, чтобы установить фон как белый и теперь его работу. Благодаря тонну! Тем не менее, черный текст, написанный вручную, по-прежнему не является непрерывным. Линии идут как сломанные (пунктирные) линии. Любые идеи о том, как сгладить линии? –
Не совсем уверен, как работает метод 'convert1()' (и у меня нет почерка), поэтому я только догадываюсь. Обычно вы можете настроить пороговое значение, чтобы сделать больше или меньше пикселей черным. Или вы можете попытаться настроить яркость/контраст, используя ['RescaleOp'] (http://stackoverflow.com/a/3433298/1428606). – haraldK