package com.rahul.chessvision; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.io.PrintWriter; public class DrawBoard { private static final String PRE_STRING_PATH = "./html/pre.txt"; private static final String POST_STRING_PATH = "./html/post.txt"; private static final String HTML_FILE_PATH = "./html/index.html"; private static final String CMD = "./lib/wkhtmltoimage --crop-w 412 ./html/index.html ./img/"; public static boolean fenToHtml(String fen) { String html = "", line; try { // Write the first part of HTML BufferedReader br = new BufferedReader(new FileReader(new File( PRE_STRING_PATH))); while ((line = br.readLine()) != null) html += line; br.close(); html += fen; // Write second part of HTML br = new BufferedReader(new FileReader(new File(POST_STRING_PATH))); while ((line = br.readLine()) != null) html += line; br.close(); // Create HTML PrintWriter out = new PrintWriter(HTML_FILE_PATH); out.println(html); out.close(); } catch (Exception e) { return false; } return true; } private static boolean htmlToPng() { String fileName = System.currentTimeMillis() + ".png"; try { Runtime.getRuntime().exec(CMD + fileName); } catch (Exception e) { return false; } return true; } public static boolean fenToPng(String fen) { return fenToHtml(fen) & htmlToPng(); } public static void main(String[] args) { String fen = "r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R"; fenToPng(fen); } }