Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
linenumberstrue
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.RenderingHints;
import java.awt.image.BufferedImage;
import org.json.JSONArray;
import org.json.JSONObject;
import javax.imageio.ImageIO;
import org.apache.axis.encoding.Base64;
import java.net.URLDecoder;
import java.util.Base64;

//Here defines the signature image size
int width = 200;
int height = 80;

try	{
    String jsonstr = URLDecoder.decode(json[0], "UTF-8");
    JSONArray jarr = new JSONArray(jsonstr);
    BufferedImage offscreenImage = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB);
    Graphics2D g2 = offscreenImage.createGraphics();
    g2.setColor(Color.white);
    g2.fillRect(0,0,width,height);
    g2.setPaint(Color.black);
    g2.setStroke(new BasicStroke(2));
    g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
    for (int i = 0; i < jarr.length(); i++) {
        JSONObject jobj = jarr.get(i);
        g2.drawLine(jobj.getInt("lx"), jobj.getInt("ly"), jobj.getInt("mx"), jobj.getInt("my"));
    }

    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    ImageIO.write( offscreenImage, "png", baos );
    baos.flush();
    byte[] imageInByte = baos.toByteArray();
    baos.close();
    String base64bytes = Base64.encode(imageInByte);
    String src = "data:image/png;base64," + base64bytes;

    return src;
} catch (Exception e) { }  

After that, you may utilize Bean Shell Hash Variable to make use of this environment variable in your email content to display the signature as an image.

...

Code Block
<img src="#beanshell.generateImage[json={form.table1.field1?url}]#" />

Download Related Plugin

Related Elements

Thai

องค์ประกอบที่เกี่ยวข้อง

...