Revision 6030

View differences:

trunk/libraries/libFMap/src/com/iver/cit/gvsig/fmap/layers/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