Revision 6030 trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/FLyrRaster.java
FLyrRaster.java | ||
---|---|---|
386 | 386 |
|
387 | 387 |
public XMLItem[] getInfo(Point p, double tolerance) throws DriverException { |
388 | 388 |
|
389 |
Point2D pReal = getFMap().getViewPort().toMapPoint(p); |
|
390 |
Point2D px = null; |
|
391 |
if( pReal.getX() > this.getMinX() && |
|
392 |
pReal.getX() < this.getMaxX() && |
|
393 |
pReal.getY() > this.getMinY() && |
|
394 |
pReal.getY() < this.getMaxY()){ |
|
395 |
ArrayList attr = source.getAttributes(); |
|
396 |
int w = 0, h = 0; |
|
397 |
for (int i=0; i<attr.size(); i++) { |
|
398 |
Object [] a = (Object []) attr.get(i); |
|
399 |
if(a[0].toString().equals("Width")) |
|
400 |
w = ((Integer)a[1]).intValue(); |
|
401 |
if(a[0].toString().equals("Height")) |
|
402 |
h = ((Integer)a[1]).intValue(); |
|
403 |
} |
|
404 |
px = new Point(); |
|
405 |
px.setLocation( ((pReal.getX() - this.getMinX()) * w) / getWidth(), |
|
406 |
((this.getMaxY() - pReal.getY()) * h) / getHeight()); |
|
407 |
} |
|
408 |
|
|
409 |
int[] rgb = this.getPixel(pReal.getX(), pReal.getY()); |
|
410 |
|
|
389 | 411 |
StringXMLItem[] item = new StringXMLItem[1]; |
390 | 412 |
String data = "<file:"+normalizeAsXMLTag(getName())+">\n"; |
391 | 413 |
|
392 |
ArrayList attr = source.getAttributes(); |
|
393 | 414 |
data += " <raster\n"; |
394 |
data += " File=\""+((RasterFileAdapter) source).getFile()+"\"\n"; |
|
395 |
for (int i=0; i<attr.size(); i++) { |
|
396 |
Object [] a = (Object []) attr.get(i); |
|
397 |
|
|
398 |
data += " "+a[0].toString()+"="; |
|
399 |
if (a[1].toString() instanceof String) |
|
400 |
data += "\""+a[1].toString()+"\"\n"; |
|
401 |
else |
|
402 |
data += a[1].toString()+"\n"; |
|
403 |
} |
|
404 |
data += " Point=\""+posX+" , "+posY+"\"\n"; |
|
405 |
data += " Point_WC=\""+posXWC+" , "+posYWC+"\"\n"; |
|
406 |
data += " RGB=\""+r+", "+g+", "+b+"\"\n"; |
|
415 |
data += " View_Point=\""+p.getX()+" , "+p.getY()+"\"\n"; |
|
416 |
data += " World_Point=\""+pReal.getX()+" , "+pReal.getY()+"\"\n"; |
|
417 |
if(px == null) |
|
418 |
data += " Pixel_Point=\"Out\"\n"; |
|
419 |
else |
|
420 |
data += " Pixel_Point=\""+px.getX()+" , "+px.getY()+"\"\n"; |
|
421 |
data += " RGB=\""+rgb[1]+", "+rgb[2]+", "+rgb[3]+"\"\n"; |
|
407 | 422 |
data += " />\n"; |
408 | 423 |
|
409 | 424 |
data += "</file:"+normalizeAsXMLTag(getName())+">\n"; |
Also available in: Unified diff