Senhores,
preciso medir imagens em tela, com base na resolução do monitor e apresentar as medidas em alguns sistemas, vocês conhecem alguma forma melhor de fazer isso?
[code]import java.awt.Toolkit;
import java.util.Arrays;
public class SistemaMedida {
public final static int PIXELS_POR_POLEGADA = Toolkit.getDefaultToolkit().getScreenResolution();
public static final SistemaMedida YARD = new SistemaMedida(“yard”, 36d );
public static final SistemaMedida FEET = new SistemaMedida(“feet”, 12d );
public static final SistemaMedida INCH = new SistemaMedida(“inch”, 1d );
public static final SistemaMedida METRO = new SistemaMedida(“m”, 39.3700787402d );
public static final SistemaMedida CENTIMETRO = new SistemaMedida(“cm”, 0.393700787402d );
public static final SistemaMedida MILIMETRO = new SistemaMedida(“mm”, 0.00393700787402d );
private SistemaMedida(String label, double unidadesPorPolegada ) {
this.label = label;
this.pixelsPorUnidade = unidadesPorPolegada * PIXELS_POR_POLEGADA;
}
public int getPixels(double valor, SistemaMedida referencia ) {
double result = valor * referencia.pixelsPorUnidade;
return (int)Math.floor(result);
}
public double getValue(int pixels, SistemaMedida referencia) {
return (double)pixels / referencia.pixelsPorUnidade;
}
public java.util.List<SistemaMedida> getSistemas() {
SistemaMedida[] array = new SistemaMedida[] { YARD, FEET, INCH, METRO, CENTIMETRO, MILIMETRO };
java.util.List<SistemaMedida> colecao = Arrays.asList(array);
return colecao;
}
@Override
public String toString() {
return label;
}
private double pixelsPorUnidade = 0d;
private String label;
}[/code]
vw