Я сохраняю изображение подписи как изображение .jpg. Я использую graphic2d, чтобы нарисовать на изображении каждый пиксель подписи (полученный с подписным планшетом), и он отлично работает, но я всегда получаю белый фон. Если я хочу поставить подпись в PDF-документе, границы белого квадрата jpg-изображения охватывают некоторые слова PDF.
Что я хочу получить, так это сохранить изображение в формате jpg с прозрачным фоном, поэтому, когда я помещаю его в PDF, нет слов, покрытых белым фоном изображения, а только линий подписи.
Это код, который сохраняет буферное изображение. Он делает это на белом фоне.
// This method refers to the signature image to save
private RenderedImage getImage() {
int width = tabletWidth;
int height = tabletHeight;
// Create a buffered image in which to draw
BufferedImage bufferedImage = new BufferedImage(width, height,
BufferedImage.TYPE_INT_RGB);
// Create a graphics contents on the buffered image
Graphics2D g2d = bufferedImage.createGraphics();
// Draw graphics
g2d.setColor(Color.WHITE);
g2d.fillRect(0, 0, width, height);
drawPoints(Tablet.getPenPoints(), g2d, Color.BLACK);
// Graphics context no longer needed so dispose it
g2d.dispose();
return bufferedImage;
}
Я попытался установить его прозрачным, но без успеха, поэтому я разместил эту рабочую часть.