Re: [Gvsig_desarrolladores] Etiquetas desde scripting
Hola Joaquín. Voy a jugar un poco con esos seteos. Muchas gracias por la explicación. Saludos. De: "Joaquin Jose del Cerro Murciano" Para: "gvsig desarrolladores" Enviados: Viernes, 5 de Abril 2019 4:56:00 Asunto: Re: [Gvsig_desarrolladores] Etiquetas desde scripting El vie., 5 abr. 2019 a las 3:45, Carlos Colombana (< ccolomb...@anep.edu.uy >) escribió: Hola Joaquín. Es verdad, es relativamente fácil. Me entreveré. Funcionó, pero con dos variantes: ... labelingStrategy.setFixedSize(0.15) ... labelingStrategy.setUnit(layer.getMapContext().getViewPort().getMapUnits()) ... Hola, mi consejo es que no uses las unidades de la vista. Estas son algo que se pueden cambiar por el usuario y va muy ligado a ese 0.15 que has puesto. No se en que unidades estara la vista en el momento de tus pruebas, digamos que lo tienes en kilometros; pero imagina que la proxima vez que tiras a etiquetar el usuario tiene puesto que la vista la quiere en metros. Tu, por codigo, pondras un 0.15, ahora metros Las etiquetas habran pasado de medir alrededor de un kilometro a tan solo un metro. No se vera ninguna etiqueta. Seran demasiado pequeñas. Y tu codigo sera el mismo. No tiene sentido decir esto lo quiero de 10. Si, vale ¿ pero 10 que ?. setFixedSize y setUnit deberian siempre ir a la par. Lo suyo es que fijes por codigo tanto el tamaño como sus unidades, o eso, o bien des la posibilidad de cambiar las dos al usuario; pero no que cojas una de la configuracion que el usuario tenga en la vista y otra vaya a capon en el codigo. Un saludo Joaquin BQ_BEGIN Muchas gracias. Saludos. De: "Joaquin Jose del Cerro Murciano" < jjdelce...@gvsig.org > Para: "gvsig desarrolladores" < gvsig_desarrolladores@listserv.gva.es > Enviados: Jueves, 4 de Abril 2019 8:54:47 Asunto: Re: [Gvsig_desarrolladores] Etiquetas desde scripting El jue., 4 abr. 2019 a las 2:14, Carlos Colombana (< ccolomb...@anep.edu.uy >) escribió: BQ_BEGIN Hola. Adjunto sólo el script. BQ_END Hola Carlos. No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo quieres etiquetar de forma simple por un campo es relativamente facil. Te pego aqui un ejemplo. Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy etiquetando con un color y tamaño fijo. #><><--><--><--- # encoding: utf-8 import gvsig from java.awt import Font from java.awt import Color from org.gvsig.symbology import SymbologyLocator from org.gvsig.fmap.mapcontext import MapContext def main(*args): #print MapContext.getDistanceNames() layer = gvsig.currentLayer() symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("NOMBRE03") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField(None) labeling.setFixedColor(Color(200,100,100)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(2) labeling.setUnit(MapContext.getDistancePosition("Kilometros")) #labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) # Forzamos el repintado (opcional) layer.getMapContext().invalidate() #><><--><--><--- Un saludo Joaquin BQ_BEGIN Saludos. De: "Carlos Colombana" < ccolomb...@anep.edu.uy > Para: "gvsig desarrolladores" < gvsig_desarrolladores@listserv.gva.es > Enviados: Domingo, 31 de Marzo 2019 23:11:17 Asunto: Etiquetas desde scripting Hola. He logrado manejar las leyendas desde scripiting, pero no lo estoy logrando con las etiquetas. Adjunto capa de prueba y script. La idea es mostrar los textos del campo "NOMBRE". ¿Podrían ayudarme?. Saludos. -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 ===PRIVACIDAD DE ESTE MENSAJE=== Este mensaje está dirigido exclusivamente a las personas que tienen las direcciones de correo electrónico especificadas en los destinatarios dentro de su encabezado. Si por error usted ha recibido este mensaje, por ningún motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le solicitamos por favor comunique el error a la dirección de correo electrónico remitente y elimine dicho mensaje junto con cualquier documento adjunto que pudiera contener. Los derechos de privacidad y confidencialidad
Re: [Gvsig_desarrolladores] Etiquetas desde scripting
El vie., 5 abr. 2019 a las 3:45, Carlos Colombana () escribió: > Hola Joaquín. > > Es verdad, es relativamente fácil. Me entreveré. > Funcionó, pero con dos variantes: > > ... > labelingStrategy.setFixedSize(0.15) > ... > labelingStrategy.setUnit(layer.getMapContext().getViewPort().getMapUnits()) > ... > > Hola, mi consejo es que no uses las unidades de la vista. Estas son algo que se pueden cambiar por el usuario y va muy ligado a ese 0.15 que has puesto. No se en que unidades estara la vista en el momento de tus pruebas, digamos que lo tienes en kilometros; pero imagina que la proxima vez que tiras a etiquetar el usuario tiene puesto que la vista la quiere en metros. Tu, por codigo, pondras un 0.15, ahora metros Las etiquetas habran pasado de medir alrededor de un kilometro a tan solo un metro. No se vera ninguna etiqueta. Seran demasiado pequeñas. Y tu codigo sera el mismo. No tiene sentido decir esto lo quiero de 10. Si, vale ¿ pero 10 que ?. setFixedSize y setUnit deberian siempre ir a la par. Lo suyo es que fijes por codigo tanto el tamaño como sus unidades, o eso, o bien des la posibilidad de cambiar las dos al usuario; pero no que cojas una de la configuracion que el usuario tenga en la vista y otra vaya a capon en el codigo. Un saludo Joaquin > Muchas gracias. > Saludos. > -- > *De: *"Joaquin Jose del Cerro Murciano" > *Para: *"gvsig desarrolladores" > *Enviados: *Jueves, 4 de Abril 2019 8:54:47 > *Asunto: *Re: [Gvsig_desarrolladores] Etiquetas desde scripting > > > > El jue., 4 abr. 2019 a las 2:14, Carlos Colombana () > escribió: > >> Hola. >> >> Adjunto sólo el script. >> >> > > > Hola Carlos. > No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo > quieres etiquetar de forma simple por un campo es relativamente facil. > > Te pego aqui un ejemplo. > Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy > etiquetando con un color y tamaño fijo. > > #><><--><--><--- > # encoding: utf-8 > > import gvsig > > from java.awt import Font > from java.awt import Color > > from org.gvsig.symbology import SymbologyLocator > from org.gvsig.fmap.mapcontext import MapContext > > def main(*args): > #print MapContext.getDistanceNames() > > layer = gvsig.currentLayer() > > symbologyManager = SymbologyLocator.getSymbologyManager() > labeling = symbologyManager.createDefaultLabelingStrategy() > > labeling.setTextField("NOMBRE03") > labeling.setUsesFixedColor(True) > labeling.setUsesFixedSize(True) > labeling.setHeightField(None) > labeling.setRotationField(None) > labeling.setFixedColor(Color(200,100,100)) # RGB > labeling.setFont(Font("Arial", Font.PLAIN, 12)) > labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 > labeling.setFixedSize(2) > labeling.setUnit(MapContext.getDistancePosition("Kilometros")) > #labeling.setUnit(-1) # PIXELS > > layer.setLabelingStrategy(labeling) > layer.setIsLabeled(True) > > # Forzamos el repintado (opcional) > layer.getMapContext().invalidate() > > #><><--><--><--- > > Un saludo > Joaquin > > > > > > >> Saludos. >> -- >> *De: *"Carlos Colombana" >> *Para: *"gvsig desarrolladores" >> *Enviados: *Domingo, 31 de Marzo 2019 23:11:17 >> *Asunto: *Etiquetas desde scripting >> >> Hola. >> >> He logrado manejar las leyendas desde scripiting, pero no lo estoy >> logrando con las etiquetas. >> Adjunto capa de prueba y script. >> La idea es mostrar los textos del campo "NOMBRE". >> ¿Podrían ayudarme?. >> >> Saludos. >> -- >> *Carlos Colombana* >> ANEP - Departamento de Investigación y Estadística Educativa de CODICEN >> Av. Libertador 1409 piso 9 - Montevideo >> Tel. 2900 7070 Int. 6009 >> >> >> -- >> *Carlos Colombana* >> ANEP - Departamento de Investigación y Estadística Educativa de CODICEN >> Av. Libertador 1409 piso 9 - Montevideo >> Tel. 2900 7070 Int. 6009 >> >> ===PRIVACIDAD DE ESTE MENSAJE=== >> Este mensaje está dirigido exclusivamente a las personas que tienen las >> direcciones de correo electrónico especificadas en los destinatarios dentro >> de su encabezado. Si por error usted ha recibido este mensaje, por ningún >> motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le >
Re: [Gvsig_desarrolladores] Etiquetas desde scripting
Hola Joaquín. Es verdad, es relativamente fácil. Me entreveré. Funcionó, pero con dos variantes: ... labelingStrategy.setFixedSize(0.15) ... labelingStrategy.setUnit(layer.getMapContext().getViewPort().getMapUnits()) ... Muchas gracias. Saludos. De: "Joaquin Jose del Cerro Murciano" Para: "gvsig desarrolladores" Enviados: Jueves, 4 de Abril 2019 8:54:47 Asunto: Re: [Gvsig_desarrolladores] Etiquetas desde scripting El jue., 4 abr. 2019 a las 2:14, Carlos Colombana (< ccolomb...@anep.edu.uy >) escribió: Hola. Adjunto sólo el script. Hola Carlos. No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo quieres etiquetar de forma simple por un campo es relativamente facil. Te pego aqui un ejemplo. Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy etiquetando con un color y tamaño fijo. #><><--><--><--- # encoding: utf-8 import gvsig from java.awt import Font from java.awt import Color from org.gvsig.symbology import SymbologyLocator from org.gvsig.fmap.mapcontext import MapContext def main(*args): #print MapContext.getDistanceNames() layer = gvsig.currentLayer() symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("NOMBRE03") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField(None) labeling.setFixedColor(Color(200,100,100)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(2) labeling.setUnit(MapContext.getDistancePosition("Kilometros")) #labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) # Forzamos el repintado (opcional) layer.getMapContext().invalidate() #><><--><--><--- Un saludo Joaquin BQ_BEGIN Saludos. De: "Carlos Colombana" < ccolomb...@anep.edu.uy > Para: "gvsig desarrolladores" < gvsig_desarrolladores@listserv.gva.es > Enviados: Domingo, 31 de Marzo 2019 23:11:17 Asunto: Etiquetas desde scripting Hola. He logrado manejar las leyendas desde scripiting, pero no lo estoy logrando con las etiquetas. Adjunto capa de prueba y script. La idea es mostrar los textos del campo "NOMBRE". ¿Podrían ayudarme?. Saludos. -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 ===PRIVACIDAD DE ESTE MENSAJE=== Este mensaje está dirigido exclusivamente a las personas que tienen las direcciones de correo electrónico especificadas en los destinatarios dentro de su encabezado. Si por error usted ha recibido este mensaje, por ningún motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le solicitamos por favor comunique el error a la dirección de correo electrónico remitente y elimine dicho mensaje junto con cualquier documento adjunto que pudiera contener. Los derechos de privacidad y confidencialidad de la información en este mensaje no deben perderse por el hecho de haberse trasmitido erróneamente o por causas de interferencias en el funcionamiento de los sistemas de correo y canales de comunicación. Los datos conten idos en este mensaje están protegidos por la Ley 18.331 Ley de Protección de Datos Personales y Acción de Habeas Data. Toda opinión que se expresa en este mensaje pertenece a la persona remitente por lo que no debe entenderse necesariamente como una opinión de ANEP y/o de las entidades que la integran, a menos que el remitente este autorizado para hacerlo o expresamente lo diga en el mismo mensaje. En consideración a que los mensajes enviados de manera electrónica pueden ser interceptados y manipulados, ANEP y las entidades que la integran no se hacen responsables si los mensajes llegan con demora respecto de la fecha de su envío por el remitente, incompletos, eliminados o con algún programa malicioso denominado como virus informático. ___ gvSIG_desarrolladores mailing list gvSIG_desarrolladores@listserv.gva.es Para ver histórico de mensajes, editar sus preferencias de usuario o darse de baja en esta lista, acuda a la siguiente dirección: https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores BQ_END -- -- Joaquin Jose del Cerro Murciano Development and software arquitecture manager at gvSIG Team jjdelce...@gvsig.com gvSIG Assoc
Re: [Gvsig_desarrolladores] Etiquetas desde scripting
El jue., 4 abr. 2019 a las 2:14, Carlos Colombana () escribió: > Hola. > > Adjunto sólo el script. > > Hola Carlos. No entiendo que tratas de hacer con el codigo que adjuntas, pero si solo quieres etiquetar de forma simple por un campo es relativamente facil. Te pego aqui un ejemplo. Uso una capa que tiene una columna "NOMBRE03" por la que etiqueto, y estoy etiquetando con un color y tamaño fijo. #><><--><--><--- # encoding: utf-8 import gvsig from java.awt import Font from java.awt import Color from org.gvsig.symbology import SymbologyLocator from org.gvsig.fmap.mapcontext import MapContext def main(*args): #print MapContext.getDistanceNames() layer = gvsig.currentLayer() symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("NOMBRE03") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True) labeling.setHeightField(None) labeling.setRotationField(None) labeling.setFixedColor(Color(200,100,100)) # RGB labeling.setFont(Font("Arial", Font.PLAIN, 12)) labeling.setReferenceSystem(0) # WORLD=0, PAPER=1 labeling.setFixedSize(2) labeling.setUnit(MapContext.getDistancePosition("Kilometros")) #labeling.setUnit(-1) # PIXELS layer.setLabelingStrategy(labeling) layer.setIsLabeled(True) # Forzamos el repintado (opcional) layer.getMapContext().invalidate() #><><--><--><--- Un saludo Joaquin > Saludos. > -- > *De: *"Carlos Colombana" > *Para: *"gvsig desarrolladores" > *Enviados: *Domingo, 31 de Marzo 2019 23:11:17 > *Asunto: *Etiquetas desde scripting > > Hola. > > He logrado manejar las leyendas desde scripiting, pero no lo estoy > logrando con las etiquetas. > Adjunto capa de prueba y script. > La idea es mostrar los textos del campo "NOMBRE". > ¿Podrían ayudarme?. > > Saludos. > -- > *Carlos Colombana* > ANEP - Departamento de Investigación y Estadística Educativa de CODICEN > Av. Libertador 1409 piso 9 - Montevideo > Tel. 2900 7070 Int. 6009 > > > -- > *Carlos Colombana* > ANEP - Departamento de Investigación y Estadística Educativa de CODICEN > Av. Libertador 1409 piso 9 - Montevideo > Tel. 2900 7070 Int. 6009 > > ===PRIVACIDAD DE ESTE MENSAJE=== > Este mensaje está dirigido exclusivamente a las personas que tienen las > direcciones de correo electrónico especificadas en los destinatarios dentro > de su encabezado. Si por error usted ha recibido este mensaje, por ningún > motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le > solicitamos por favor comunique el error a la dirección de correo > electrónico remitente y elimine dicho mensaje junto con cualquier documento > adjunto que pudiera contener. Los derechos de privacidad y confidencialidad > de la información en este mensaje no deben perderse por el hecho de haberse > trasmitido erróneamente o por causas de interferencias en el funcionamiento > de los sistemas de correo y canales de comunicación. Los datos conten idos > en este mensaje están protegidos por la Ley 18.331 Ley de Protección de > Datos Personales y Acción de Habeas Data. Toda opinión que se expresa en > este mensaje pertenece a la persona remitente por lo que no debe entenderse > necesariamente como una opinión de ANEP y/o de las entidades que la > integran, a menos que el remitente este autorizado para hacerlo o > expresamente lo diga en el mismo mensaje. En consideración a que los > mensajes enviados de manera electrónica pueden ser interceptados y > manipulados, ANEP y las entidades que la integran no se hacen responsables > si los mensajes llegan con demora respecto de la fecha de su envío por el > remitente, incompletos, eliminados o con algún programa malicioso > denominado como virus informático. > > ___ > gvSIG_desarrolladores mailing list > gvSIG_desarrolladores@listserv.gva.es > Para ver histórico de mensajes, editar sus preferencias de usuario o darse > de baja en esta lista, acuda a la siguiente dirección: > https://listserv.gva.es/cgi-bin/mailman/listinfo/gvsig_desarrolladores > -- -- Joaquin Jose del Cerro Murciano Development and software arquitecture manager at gvSIG Team jjdelce...@gvsig.com gvSIG Association www.gvsig.com # encoding: utf-8 import gvsig from java.awt import Font from java.awt import Color from org.gvsig.symbology import SymbologyLocator from org.gvsig.fmap.mapcontext import MapContext def main(*args): #print MapContext.getDistanceNames() layer = gvsig.currentLayer() symbologyManager = SymbologyLocator.getSymbologyManager() labeling = symbologyManager.createDefaultLabelingStrategy() labeling.setTextField("NOMBRE03") labeling.setUsesFixedColor(True) labeling.setUsesFixedSize(True)
Re: [Gvsig_desarrolladores] Etiquetas desde scripting
Hola. Adjunto sólo el script. Saludos. De: "Carlos Colombana" Para: "gvsig desarrolladores" Enviados: Domingo, 31 de Marzo 2019 23:11:17 Asunto: Etiquetas desde scripting Hola. He logrado manejar las leyendas desde scripiting, pero no lo estoy logrando con las etiquetas. Adjunto capa de prueba y script. La idea es mostrar los textos del campo "NOMBRE". ¿Podrían ayudarme?. Saludos. -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 -- Carlos Colombana ANEP - Departamento de Investigación y Estadística Educativa de CODICEN Av. Libertador 1409 piso 9 - Montevideo Tel. 2900 7070 Int. 6009 ===PRIVACIDAD DE ESTE MENSAJE=== Este mensaje esta dirigido exclusivamente a las personas que tienen las direcciones de correo electronico especificadas en los destinatarios dentro de su encabezado. Si por error usted ha recibido este mensaje, por ningun motivo debe revelar su contenido, copiarlo, distribuirlo o utilizarlo. Le solicitamos por favor comunique del error a la direccion de correo electronico remitente y elimine dicho mensaje junto con cualquier documento adjunto que pudiera contener. Los derechos de privacidad y confidencialidad de la informacion en este mensaje no deben perderse por el hecho de haberse trasmitido erroneamente o por causas de interferencias en el funcionamiento de los sistemas de correo y canales de comunicacion. Los datos contenidos en este mensaje estan protegidos por la Ley 18.331 Ley de Proteccion de Datos Personales y Accion de Habeas Data cuy o alcance puede encontrar en: https://www.datospersonales.gub.uy/inicio/normativa/nacional/leyes/. Toda opinion que se expresa en este mensaje pertenece a la persona remitente por lo que no debe entenderse necesariamente como una opinion de ANEP y/o de las entidades que la integran, a menos que el remitente este autorizado para hacerlo o expresamente lo diga en el mismo mensaje. En consideracion a que los mensajes enviados de manera electronica pueden ser interceptados y manipulados, ANEP y las entidades que la integran no se hacen responsables si los mensajes llegan con demora respecto de la fecha de su envio por el remitente, incompletos, eliminados o con alg��un programa malicioso denominado como virus informatico. import gvsig from gvsig import commonsdialog from gvsig import geom from java.awt import BasicStroke from java.awt import Font from java.awt import Point from java.awt import Rectangle from java.awt.image import BufferedImage from org.gvsig.symbology.fmap.mapcontext.rendering.legend.impl import SingleSymbolLegend from org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling import AttrInTableLabelingStrategy from org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling import DefaultLabelingMethod from org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling import LabelClass from org.gvsig.symbology.fmap.mapcontext.rendering.legend.styling import ZoomConstraintsImpl from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.fill.impl import SimpleFillSymbol from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.line.impl import SimpleLineSymbol from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.style import SimpleLabelStyle from org.gvsig.symbology.fmap.mapcontext.rendering.symbol.text.impl import SimpleTextSymbol from org.gvsig.utils.swing.threads import DefaultCancellableMonitorable def launchTestingEnvironment(): currentProject = gvsig.currentProject() if currentProject.getView("Prueba") == None: currentProject.createView("Prueba") view = currentProject.getView("Prueba") view.setBackColor(gvsig.utils.getColorFromRGB(204, 204, 204)) # RGB view.showWindow() message = "" if view.getLayer("Departamentos") == None: try: gvsig.loadShapeFile(gvsig.getResource(__file__, "data", "Departamentos.shp")) except: message = "\n'Departamentos.shp'" layer = view.getLayer("Departamentos") if layer != None: symbol = SimpleFillSymbol() symbol.setColor(gvsig.utils.getColorFromRGB(153, 255, 153)) # RGB outline = SimpleLineSymbol() outline.setLineColor(gvsig.utils.getColorFromRGB(0, 204, 0)) # RGB symbol.setOutline(outline) legend = SingleSymbolLegend(symbol) layer.setLegend(legend) layer.setVisible(True) layer.setActive(True) view.center(layer.getFullEnvelope()) features = layer.features() envelope = layer.getFullEnvelope() mapContext = view.getMapContext() viewPort = mapContext.getViewPort() bufferedImage = BufferedImage(int(envelope.getLength(0)), int(envelope.getLength(1)), BufferedImage.TYPE_INT_ARGB) graphics2D = bufferedImage.getGraphics()