2015-02-17 2 views
1

Мне нужно извлечь изображение из PDF.Объедините два непрозрачных изображения, чтобы получить прозрачный

Но поскольку его фон прозрачен, он сохраняется с помощью мягкой маски для создания прозрачности.

Хотя я могу извлечь два непрозрачных изображения ниже, я понятия не имею, есть ли способ воссоздать исходное изображение на Java. Могу ли я использовать JAI?

Ниже есть "главный" изображение:

img.jpg

и здесь есть соответствующая мягкая маска:

mask.jpg

Я попытался с ImageMagick с помощью команды:

convert mask.jpg -background Black -alpha shape copy.png 

, и я почти получил то, что мне нужно, но цвет переднего плана только черный, а оригинал также имеет синий цвет переднего плана.

+1

Возможно, покажите нам, как это должно выглядеть, когда оно закончено. –

ответ

2

Я думаю, что вы, вероятно, хотите что-то вроде этого, но это трудно сказать, как вы не показывают нам свой ожидаемый результат:

convert -fuzz 20% main.jpg -transparent black \ 
    mask.jpg -compose copy-opacity -composite \ 
    result.png 

enter image description here

-fuzz позволяет почти черные пиксели main.jpg стать прозрачным. Изображение маски затем загружается, а его непрозрачность копируется на основное изображение.

+1

Замечательно! Это именно то, что мне нужно, но есть ли эквивалент Java? – alexyz78

+1

Извините, я не говорю на Java. Я предположил, что вы тоже довольны интерфейсом командной строки, так как вы показали, что вы там пытались. Может быть, вы можете 'shell exec' команду ImageMagick, которую я дал, или посмотрите здесь http://stackoverflow.com/questions/19296075/how-would-i-use-the-imagemagick-library-with-processing –