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