Я надеюсь, что это приведет вас к тому, что вы хотите. Вам нужно сделать что-то похожее на следующие шаги:
Прочитайте изображение,
извлечение значений RGB,
создать другое изображение с ARGB
BufferedImage bi = новый BufferedImage (ширина, высота, BufferedImage.TYPE_INT_ARGB);
И примените операцию, аналогичную настройке порога изображения, чтобы проверить белый фон на изображении bi
, если текущий пиксель белый -> сделать этот пиксель прозрачным. В противном случае (для текстового изображения другого цвета) скопируйте пиксель как есть.
И, наконец, сохраните bi
как изображение PNG, используя
ImageIO.write (bi, "PNG", новый файл ("C: \ yourImageName.PNG"));
Проведите небольшое исследование.