From ca1b6c274b85ecfdbaaca9f03514b0840d7f7c9b Mon Sep 17 00:00:00 2001
From: Piotr Gawron <piotr.gawron@uni.lu>
Date: Fri, 1 Sep 2017 14:36:51 +0200
Subject: [PATCH] code for generating scale image

---
 .../converter/graphics/ConverterTest.java     | 46 +++++++++++++++++++
 1 file changed, 46 insertions(+)

diff --git a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
index 13aac7e427..af923b647b 100644
--- a/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
+++ b/converter-graphics/src/test/java/lcsb/mapviewer/converter/graphics/ConverterTest.java
@@ -1,9 +1,17 @@
 package lcsb.mapviewer.converter.graphics;
 
 import java.awt.Color;
+import java.awt.Desktop;
+import java.awt.Graphics2D;
+import java.awt.image.BufferedImage;
+import java.io.File;
+import java.io.IOException;
+
+import javax.imageio.ImageIO;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 
 import lcsb.mapviewer.commands.ColorExtractor;
@@ -37,4 +45,42 @@ public class ConverterTest {
 		}
 	}
 
+	@Test
+	@Ignore("it's just code for generating scale")
+	public void testX() throws IOException {
+		BufferedImage tmpBI = new BufferedImage(900, 100, BufferedImage.TYPE_INT_ARGB);
+		Graphics2D tmpGraphics = tmpBI.createGraphics();
+		int startX = 10;
+		int startY = 15;
+		int stepSize = 40;
+		int height = 25;
+		tmpGraphics.setColor(Color.BLACK);
+		for (int i = 0; i < 21; i++) {
+			tmpGraphics.drawLine(startX + i * stepSize, height+startY, startX + i * stepSize, height*2);
+			String str = ""+((double)(i-10))/((double)(10));
+			tmpGraphics.drawString(str, startX + i * stepSize, height*2+startY);
+		}
+		for (int i = 0; i < 10 * stepSize; i++) {
+			double ratio = ((double) i) / ((double) (10 * stepSize));
+			tmpGraphics.setBackground(getColor(ratio, Color.BLUE, Color.WHITE));
+			tmpGraphics.setColor(getColor(ratio, Color.BLUE, Color.WHITE));
+			tmpGraphics.drawRect(startX + i, startY , 1, height);
+		}
+		for (int i = 0; i < 10 * stepSize; i++) {
+			double ratio = ((double) i) / ((double) (10 * stepSize));
+			tmpGraphics.setBackground(getColor(ratio, Color.WHITE, Color.RED));
+			tmpGraphics.setColor(getColor(ratio, Color.WHITE, Color.RED));
+			tmpGraphics.drawRect(10 * stepSize + startX + i, startY , 1, height);
+		}
+		ImageIO.write(tmpBI, "PNG", new File("tmp.png"));
+		Desktop.getDesktop().open(new File("tmp.png"));
+	}
+
+	private Color getColor(double d, Color startColor, Color endColor) {
+
+		return new Color((int) (startColor.getRed() + d * (endColor.getRed() - startColor.getRed())), //
+				(int) (startColor.getGreen() + d * (endColor.getGreen() - startColor.getGreen())), //
+				(int) (startColor.getBlue() + d * (endColor.getBlue() - startColor.getBlue())));
+	}
+
 }
-- 
GitLab