john-hancock
Builds images from common customer signature serialization formats
Supported formats
Worldpay (Vantiv)
- Points, big-endian
- Points, little-endian
- 3-byte ASCII
Cayan
- Vector text
Requirements
Requires JDK 1.7 or greater
Installation
john-hancock
is available as a Maven artifact from Maven Central.
Gradle
compile 'com.spinthechoice:john-hancock:1.0.1'
Maven
<dependency>
<groupId>com.spinthechoice</groupId>
<artifactId>john-hancock</artifactId>
<version>1.0.1</version>
</dependency>
Example usage
import java.awt.image.RenderedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.spinthechoice.signature.Converter;
import com.spinthechoice.signature.Format;
public class Main {
static class Signature {
public byte[] data;
}
public static void main(final String[] args) throws IOException {
final String json = "{\"data\":\"/////wAAAAAAAAAUAAoAFP////8AAAAAAAoAAP////8AAAAKAAcACv//" +
"//8AFAAAABQAFP////8AFAAAAB4AAAAeAAoAFAAK/////wAyAAAAKAAAACgACgAyAAoAMgAUACgAFP//" +
"//8AUAAAAFAAFP////8AWgAAAFoAFP////8AUAACAFoAEv////8AZAAAAGQAFABuABQAbgAA/////wB4" +
"AAAAeAAUAIIAFP////8AjAAAAIwAFACWABT/////\"}";
final Signature signature = new ObjectMapper().readValue(json, Signature.class);
final Converter converter = new Converter();
final RenderedImage image = converter.convert(signature.data, Format.POINTS_BIG_ENDIAN);
ImageIO.write(image, "png", new File("example.png"));
}
}
Configuration
Converter accepts a Config instance. This allows you to configure
- background color
- foreground color
- padding
More information
License
Copyright © 2017, 2019 Corey Beres
Distributed under the MIT license