org.math.plot.plotObjects.RasterImage Maven / Gradle / Ivy
The newest version!
/*
* Created on 5 sept. 2005 by richet
*/
package org.math.plot.plotObjects;
import java.awt.*;
import java.io.*;
import javax.swing.*;
import org.math.plot.*;
import org.math.plot.render.*;
public class RasterImage implements Plotable{
File source;
Image img;
double[] xyzSW, xyzSE,xyzNW;
boolean visible = true;
float alpha;
public RasterImage(File _source, float _alpha,double[] _xyzSW, double[] _xyzSE,double[] _xyzNW) {
source = _source;
img = Toolkit.getDefaultToolkit().getImage(source.getPath());
xyzSW = _xyzSW;
xyzSE = _xyzSE;
xyzNW=_xyzNW;
alpha = _alpha;
}
public void plot(AbstractDrawer draw) {
if (!visible) return;
draw.drawImage(img,alpha, xyzSW, xyzSE,xyzNW);
}
public void setVisible(boolean v) {
visible = v;
}
public boolean getVisible() {
return visible;
}
public void setColor(Color c) {
throw new IllegalArgumentException("method not available for this Object: PlotImage");
}
public Color getColor() {
return null;
}
public static void main(String[] args) {
Plot2DPanel p2 = new Plot2DPanel();
for (int i = 0; i < 1; i++) {
double[][] XYZ = new double[10][2];
for (int j = 0; j < XYZ.length; j++) {
XYZ[j][0] =/*1 + */Math.random();
XYZ[j][1] = /*100 * */Math.random();
}
p2.addScatterPlot("toto" + i, XYZ);
}
p2.addPlotable(new RasterImage(new File("test.gif"), 0.8f,new double[] {0.2,0.5},new double[] {1.2,0.8},new double[] {0.2,1.1}));
p2.setLegendOrientation(PlotPanel.SOUTH);
new FrameView(p2).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Plot3DPanel p = new Plot3DPanel();
for (int i = 0; i < 1; i++) {
double[][] XYZ = new double[10][3];
for (int j = 0; j < XYZ.length; j++) {
XYZ[j][0] = /*1 +*/ Math.random();
XYZ[j][1] = /*100 **/ Math.random();
XYZ[j][2] = /*0.0001 **/ Math.random();
}
p.addScatterPlot("toto" + i, XYZ);
}
p.addPlotable(new RasterImage(new File("test.gif"), 0.5f, new double[] {0.0,0.0,0.0},new double[] {1,0,0.0},new double[] {0.0,0,1}));
p.addPlotable(new RasterImage(new File("test.gif"), 0.5f, new double[] {0.0,0.0,0.0},new double[] {0,1,0.0},new double[] {0,0.0,1}));
p.addPlotable(new RasterImage(new File("test.gif"),0.5f, new double[] {0.0,0.0,0.0},new double[] {1,0,0},new double[] {0,1,0}));
// TODO this following case is not totally supported...
//p.addPlotable(new PlotImage(new File("test.jpg"),0.5f, new double[] {1,0,0},new double[] {1,1,0},new double[] {0,0,1}));
p.setLegendOrientation(PlotPanel.SOUTH);
p.setPreferredSize(new Dimension(600,600));
new FrameView(p).setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy