Revision 9075 trunk/applications/appgvSIG/src/com/iver/cit/gvsig/gui/layout/fframes/FFrameLegend.java
FFrameLegend.java | ||
---|---|---|
43 | 43 |
import java.awt.Color; |
44 | 44 |
import java.awt.Font; |
45 | 45 |
import java.awt.Graphics2D; |
46 |
import java.awt.Image; |
|
46 | 47 |
import java.awt.Rectangle; |
47 | 48 |
import java.awt.geom.AffineTransform; |
48 | 49 |
import java.awt.geom.Rectangle2D; |
... | ... | |
56 | 57 |
import com.iver.cit.gvsig.fmap.layers.FLayer; |
57 | 58 |
import com.iver.cit.gvsig.fmap.layers.FLayers; |
58 | 59 |
import com.iver.cit.gvsig.fmap.layers.FLyrAnnotation; |
60 |
import com.iver.cit.gvsig.fmap.layers.FLyrRaster; |
|
59 | 61 |
import com.iver.cit.gvsig.fmap.layers.layerOperations.AlphanumericData; |
60 | 62 |
import com.iver.cit.gvsig.fmap.layers.layerOperations.Classifiable; |
63 |
import com.iver.cit.gvsig.fmap.layers.layerOperations.IHasImageLegend; |
|
61 | 64 |
import com.iver.cit.gvsig.fmap.rendering.ClassifiedLegendInfo; |
62 | 65 |
import com.iver.cit.gvsig.gui.layout.Layout; |
63 | 66 |
import com.iver.cit.gvsig.project.documents.exceptions.SaveException; |
... | ... | |
234 | 237 |
n[0]++; |
235 | 238 |
drawLegendOrToFFrame(g, re, h, (FLayers) layer, n, layout); |
236 | 239 |
n[0]++; |
237 |
} else if (layer instanceof AlphanumericData) { |
|
240 |
} else if (layer instanceof AlphanumericData && !(layer instanceof IHasImageLegend) ) {
|
|
238 | 241 |
AlphanumericData cO = (AlphanumericData) layer; |
239 | 242 |
|
240 | 243 |
if (((Classifiable) cO).getLegend() instanceof ClassifiedLegendInfo && !(cO instanceof FLyrAnnotation)) { |
... | ... | |
299 | 302 |
} |
300 | 303 |
n[0]++; |
301 | 304 |
} |
302 |
}else{ |
|
305 |
}else if (layer instanceof IHasImageLegend){ |
|
306 |
Image image=((IHasImageLegend)layer).getImageLegend(); |
|
307 |
String path=((IHasImageLegend)layer).getPathImage(); |
|
308 |
FFramePicture picture=new FFramePicture(); |
|
309 |
BufferedImage bi = new BufferedImage(image.getWidth(null), |
|
310 |
image.getHeight(null), BufferedImage.TYPE_INT_ARGB); |
|
311 |
Graphics2D biContext = bi.createGraphics(); |
|
312 |
biContext.drawImage(image, 0, 0, null); |
|
313 |
picture.setImage(bi); |
|
314 |
double dY = n[0] * h; |
|
315 |
Rectangle2D rectImage=new Rectangle2D.Double(re.getX(),re.getY()+dY,re.getWidth(),h); |
|
316 |
if (layout!=null) { |
|
317 |
picture.setBoundBox(FLayoutUtilities.toSheetRect(rectImage, layout.getAT())); |
|
318 |
picture.setPath(path); |
|
319 |
layout.addFFrame(picture, false, true); |
|
320 |
}else { |
|
321 |
picture.setBoundBox(FLayoutUtilities.toSheetRect(rectImage,new AffineTransform())); |
|
322 |
picture.draw(g,new AffineTransform(),re,bi); |
|
323 |
} |
|
324 |
n[0]++; |
|
325 |
}else { |
|
303 | 326 |
double dX = 0; |
304 | 327 |
double dY = n[0] * h; |
305 | 328 |
|
Also available in: Unified diff