GD library error. Invalid bitmap font

Tamas Szekeres szekerest at GMAIL.COM
Tue Oct 31 09:14:04 EST 2006


Johan,

You have created a new labelObj instead of using classObj.label.

Therefore you should replace 'labelObj oLabelObj = new labelObj();'
with labelObj oLabelObj = oClassObj.label;

In addition you should remove 'oMapObj.insertLayer(oLayerObj, -1);' to
prevent from adding the layer to the map twice. The layer has already
been added at the construction of the layer 'layerObj oLayerObj = new
layerObj(oMapObj);'

Best Regards,

Tamas


2006/10/31, Hallgren Johan E <jhhal at wmdata.com>:
> Hello Tamas
>
> Here is a code snippet
>
> **************
> mapObj oMapObj = new mapObj(mapFile.Text);
>
> layerObj oLayerObj = new layerObj(oMapObj);
> oLayerObj.name = "textLayer";
> oLayerObj.type = MS_LAYER_TYPE.MS_LAYER_ANNOTATION;
> oLayerObj.connectiontype = MS_CONNECTION_TYPE.MS_INLINE;
> oLayerObj.status = 1;
> oMapObj.insertLayer(oLayerObj, -1);
>
> classObj oClassObj = new classObj(oLayerObj);
> labelObj oLabelObj = new labelObj();
> oLabelObj.type = MS_FONT_TYPE.MS_TRUETYPE;
> oLabelObj.font = "verdanab";
> oLabelObj.color = new colorObj(120, 220, 10, -4);
> oLabelObj.size = 12;
> oLabelObj.antialias = mapscript.MS_TRUE;
> oLabelObj.encoding = "CP437";
> oLabelObj.maxsize = 256;
> oLabelObj.minsize = 4;
>
> bool isDatabaseCoord = false;
>
> lineObj oLineObj = new lineObj();
> oLineObj.add(getPointObj("50 50", isDatabaseCoord, oMapObj));
>
> shapeObj oShapeObj = new shapeObj((int)MS_SHAPE_TYPE.MS_SHAPE_POINT);
> oShapeObj.add(oLineObj);
>
> string strVal = "Johan Hallgren";
>
> oShapeObj.text = strVal;
>
> oLayerObj.addFeature(oShapeObj);
>
> imageObj i_obj = null;
> i_obj = oMapObj.draw();
> string fn = "c:\\temp\\" + GetTempFileName() + "." +
> i_obj.format.extension;
>
> i_obj.save(fn, oMapObj);
> pictureBox2.Image = Image.FromFile(fn);
> **************
>
> Function used:
> **************
> private pointObj getPointObj(string str, bool isDatabaseCoord, mapObj
> mo)
> {
>         double x;
>         double y;
>         if (!isDatabaseCoord)
>         {
>
>                 GMSAgent_WP.Libs.Envelope currentExtent = new
> GMSAgent_WP.Libs.Envelope(mo);
>
>                 x = currentExtent.FromMapX(Convert.ToInt32(str.Split('
> ')[0]));
>                 y = currentExtent.FromMapY(currentExtent.ImageHeight -
> Convert.ToInt32(str.Split(' ')[1]));
>         }
>         else
>         {
>                 x = GenericIMS_lib.Libs.Utilities.ToDouble(str.Split('
> ')[0]);
>                 y = GenericIMS_lib.Libs.Utilities.ToDouble(str.Split('
> ')[1]);
>         }
>         pointObj oPointObj = new pointObj(x, y, 0, -2e38);
>         return oPointObj;
> }
> **************
>
> On the row i_obj = oMapObj.draw(); I've get the following error.
> msGetBitmapFont(): GD library error. Invalid bitmap font. Must be one of
> tiny, small, medium, large or giant.
>
>
> This is mu mapfile:
> ***************
> #
> # Start of map file
> #
> MAP
>   NAME WMSE
>   STATUS ON
>         EXTENT 1194973 6083188 1973312 7687503
>         SIZE 600 600
>   UNITS METERS
>   IMAGECOLOR 255 255 255
> #  TEMPLATEPATTERN "itasca"
>   FONTSET "C:\Project\applications\GMS\GMSAgent\MapFiles\fonts.txt"
>         SYMBOLSET
> "C:\Project\applications\GMS\GMSAgent\MapFiles\Symbol\symbolset.sym"
>         SHAPEPATH "C:\Project\DATA\/GIMS"
>         RESOLUTION 200
>         DEBUG OFF
>
>   IMAGETYPE PNG
>
>   #
>   # Start of web interface definition (including WMS enabling metadata)
>   #
>   WEB
> #    HEADER templates/header.html
>     TEMPLATE "c:\temp\template.txt"
> #    FOOTER templates/footer.html
>     MINSCALE 1000
>     MAXSCALE 1550000
>     IMAGEPATH "set in index.html"
>     IMAGEURL "set in index.html"
>     LOG "c:\temp\ms.log"
>
>   END
>
>   #
>   # Start of legend
>   #
>   LEGEND
>     KEYSIZE 18 12
>     LABEL
>       TYPE BITMAP
>       SIZE MEDIUM
>       COLOR 0 0 89
>     END
>     STATUS ON
>   END
>
>   #
>   # Start of reference map
>   #
>
>   #
>   # Start of layer definitions
>   #
>
> #  LAYER
> #    NAME sj_large_os
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "OCI:tfk/tfk at wmsi1394"
> #    CONNECTIONTYPE OGR
> #    DATA "sj_large_os"
> #    CONNECTION "tfk/tfk at wmsi1394"
> #    CONNECTIONTYPE oraclespatial
> #    DATA "shape from sj_large_os"
> #    TEMPLATE "c:\temp\template.txt"
> #    DEBUG on
> #   CLASS
> #      STYLE
> #        OUTLINECOLOR 0 0 255
> #        COLOR 255 0 0
> #      END
> #    END
> #  END
> #
> #   LAYER
> #    NAME SJ_large_SDE
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "wmsi001394,port:5151,wmgis,wmgis,wmgis01"
> #    CONNECTIONTYPE SDE
> #    DATA "SJ_large_sde,shape"
> #    TEMPLATE "c:\temp\template.txt"
> #    DEBUG on
> #    CLASS
> #      STYLE
> #        OUTLINECOLOR 0 0 255
> #        COLOR 255 0 0
> #      END
> #    END
> #  END
> #
> #  LAYER
> #    NAME SJ_large_SDO
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "wmsi001394,port:5151,wmgis,wmgis,wmgis01"
> #    CONNECTIONTYPE SDE
> #    DATA "SJ_large_sdo,shape"
> #    TEMPLATE "c:\temp\template.txt"
> #    DEBUG on
> #    CLASS
> #      STYLE
> #        OUTLINECOLOR 0 0 255
> #        COLOR 255 0 0
> #      END
> #    END
> #  END
> #
> #
> #  LAYER
> #    NAME SJ_large_SDO_Direct
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "wmgis/wmgis01 at wmsi1394"
> #    CONNECTIONTYPE oraclespatial
> #    DATA "shape FROM (SELECT objectid, shape, KKOD FROM SJ_large_sdo)
> USING UNIQUE OBJECTID VERSION 10g"
> #    TEMPLATE "c:\temp\template.txt"
> #    DEBUG on
> #    CLASS
> #      STYLE
> #        OUTLINECOLOR 0 0 255
> #        COLOR 255 0 0
> #      END
> #    END
> #  END
>
> #  LAYER
> #    NAME Fastigheter
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "wfast/wfast at skogdb"
> #    CONNECTIONTYPE oraclespatial
> #    DATA "shape FROM fastighetsytor USING UNIQUE OBJECTID VERSION 10g"
> #    TEMPLATE "c:\temp\template.txt"
> #    MAXSCALE 100000
> #    DEBUG on
> #    CLASS
> #                       MAXSCALE 100000
> #                       MINSCALE 20000
> #      STYLE
> #        OUTLINECOLOR 0 0 0
> #        WIDTH 1
> #      END
> #    END
> #    CLASS
> #                       MAXSCALE 20000
> #      STYLE
> #        SYMBOL dashed
> #        OUTLINECOLOR 240 240 240
> #        WIDTH 2
> #      END
> #    END
> #  END
>
> #  LAYER
> #    NAME "Fastigheter Namnjh"
> #    STATUS ON
> #    CONNECTION "wfast/wfast at skogdb"
> #    CONNECTIONTYPE oraclespatial
> #    DATA "shape FROM fastighetsytor USING UNIQUE OBJECTID VERSION 10g"
> #    TEMPLATE "c:\temp\template.txt"
> #    TYPE POLYGON
> #    MAXSCALE 20001
> #    LABELITEM "FASTIGHET"
> #    CLASS
> #      LABEL
> #                               TYPE truetype
> #                               FONT verdanab
> #                               SIZE 8
> #                               COLOR 240 240 240
> #      END
> #    END
> #  END
>
> #  LAYER
> #    NAME BergvikMark_SDE
> #    TYPE POLYGON
> #    STATUS OFF
> #    CONNECTION "wmsi001394,port:5151,wmgis,wmgis,wmgis01"
> #    CONNECTIONTYPE SDE
> #    DATA "bergvikmark,shape"
> #    TEMPLATE "c:\temp\template.txt"
> #    DEBUG off
> #    CLASS
> #      STYLE
> #        OUTLINECOLOR 0 0 255
> #        COLOR 255 0 0
> #      END
> #    END
> #  END
>
>   LAYER
>     NAME sj
>     TYPE POLYGON
>     STATUS ON
>     DATA vv/sj
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 750000
>     CLASS
>       STYLE
>         OUTLINECOLOR 0 0 255
>         COLOR 165 250 255
>       END
>     END
>   END
>
>   LAYER
>     NAME sj_large
>     TYPE POLYGON
>     STATUS ON
>     DATA vv/sj_large
>     TEMPLATE "c:\temp\template.txt"
>                 MINSCALE 750000
>     CLASS
>       STYLE
>         OUTLINECOLOR 0 0 255
>         COLOR 165 250 255
>       END
>     END
>   END
>
>   LAYER
>     NAME rsv_hv_grid
>     TYPE POLYGON
>     STATUS ON
>     DATA vv/rsv_hv_grid
>     TEMPLATE "c:\temp\template.txt"
>                 MINSCALE 30000
>     CLASS
>       STYLE
>         COLOR 165 250 255
>       END
>     END
>   END
>
>   LAYER
>     NAME Or
>     TYPE POLYGON
>     STATUS ON
>     DATA vv/Or
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 300000
>                 MINSCALE 30000
>     CLASS
>       STYLE
>         OUTLINECOLOR 0 130 255
>         COLOR 255 255 255
>       END
>     END
>   END
>
>   LAYER
>     NAME TATYT
>     TYPE POLYGON
>     STATUS ON
>     DATA vv/TATYT
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 1000000
>     CLASS
>       STYLE
>         OUTLINECOLOR 0 0 0
>         COLOR 210 210 210
>       END
>     END
>   END
>
>   LAYER
>     NAME vdb_m
>     TYPE LINE
>     STATUS ON
>     DATA vv/vdb_m
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 2000000
>     CLASS
>                         EXPRESSION ([VAEGNR] > 1 AND [VAEGNR] < 100)
>       STYLE
>                                 SYMBOL solid
>                                 SIZE 2
>         COLOR 105 105 105
>       END
>     END
>     CLASS
>                         MAXSCALE 1000000
>                         EXPRESSION ([VAEGNR] >= 100 AND [VAEGNR] < 500)
>       STYLE
>                                 SYMBOL solid
>                                 SIZE 2
>         COLOR 105 105 105
>       END
>     END
>     CLASS
>                         MAXSCALE 1000000
>                         EXPRESSION ([VAEGNR] >= 500)
>       STYLE
>         COLOR 105 105 105
>       END
>     END
>   END
>
>   LAYER
>     NAME Granser
>     TYPE LINE
>     STATUS ON
>     DATA vv/Granser
>     TEMPLATE "c:\temp\template.txt"
>     CLASS
>                         EXPRESSION ([TYP] = 5)
>       STYLE
>               SYMBOL dot
>         COLOR 255 173 0
>         SIZE 2
>       END
>     END
>     CLASS
>                         EXPRESSION ([TYP] = 6)
>       STYLE
>         COLOR 255 173 0
>       END
>     END
>     CLASS
>                         EXPRESSION ([TYP] = 7)
>       STYLE
>         COLOR 255 173 0
>       END
>     END
>     CLASS
>                         EXPRESSION ([TYP] = 8)
>       STYLE
>               SYMBOL solid
>         COLOR 255 173 0
>         SIZE 2
>       END
>     END
>   END
>
>   LAYER
>     NAME vd
>     TYPE LINE
>     STATUS ON
>     DATA vv/vd
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 500000
>     CLASS
>       STYLE
>         COLOR 0 219 255
>       END
>     END
>   END
>
>   LAYER
>     NAME TATTXT
>     TYPE LINE
>     STATUS OFF
>     DATA vv/TATTXT
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 1250000
>     LABELITEM "TEXT"
>     CLASS
>       LABEL
>                                 ENCODING CP437
>                                 TYPE truetype
>                                 FONT verdanab
>                                 SIZE 10
>       END
>     END
>   END
>
>   LAYER
>     NAME SMAORTTX
>     TYPE LINE
>     STATUS OFF
>     DATA vv/SMAORTTX
>     TEMPLATE "c:\temp\template.txt"
>                 MAXSCALE 1250000
>     LABELITEM "TEXT"
>     CLASS
>       LABEL
>                                 ENCODING CP437
>                                 TYPE truetype
>                                 FONT verdana
>                                 SIZE 8
>       END
>     END
>   END
>
>         LAYER
>     NAME "Raster, sth"
>     STATUS OFF
>     TILEINDEX "Rasterdata/d3/index.shp"
>     TILEITEM "Location"
>     TYPE RASTER
>   END
>
> END # Map File
> ***************
>
> Good luck
> /Johan
> ___________________________________
>
>
> Johan Hallgren
>
>
> WM-data a LogicaCMG company
> Pelle Bergs backe 3
> Box 1938, 791 19 Falun
> Tel: 023-547 46 (int: +46-2354746)
>
> Mobil: 070-588 44 28 (int: +46-705884428)
>
> johan.e.hallgren at wmdata.com
> http://www.wmdata.se
>
> -----Original Message-----
> From: Tamas Szekeres [mailto:szekerest at gmail.com]
> Sent: den 27 oktober 2006 23:26
> To: Hallgren Johan E
> Cc: MAPSERVER-DEV at lists.umn.edu
> Subject: Re: GD library error. Invalid bitmap font
>
> Would you post a code fragment that adds the text to this layer inline?
>
> Tamas
>
>
> 2006/10/27, Hallgren Johan E <jhhal at wmdata.com>:
> >
> >
> >
> >
> > Hello
> >
> >
> >
> > In the migration from MapServer 4.8 to mapserver 4.10 I have problem
> when
> > adding text to the Map.
> >
> >
> >
> > This is the error message I've get:
> >
> > msGetBitmapFont(): GD library error. Invalid bitmap font. Must be one
> of
> > tiny, small, medium, large or giant.
> >
> >
> >
> > A add texts in runtime and as far as I know the only size I set is
> >
> > oLabelObj.size = 12;
> >
> >
> >
> > And I don't use bitmap fonts, I use
> >
> > oLabelObj.type = MS_FONT_TYPE.MS_TRUETYPE;
> >
> >
> >
> > My environment is CSharp, VS 2005.
> >
> >
> >
> > Could anyone give me a hint about what this is all about?
> >
> >
> >
> > /Johan
> > ___________________________________
> > Johan Hallgren
> >
> >
> >
> >
> >
> > WM-data a LogicaCMG company
> >
> >
> > Pelle Bergs backe 3
> >
> >
> > Box 1938, 791 19 Falun
> >
> >
> >
> > Tel: 023-547 46 (int: +46-2354746)
> >
> > Mobil: 070-588 44 28 (int: +46-705884428)
> >
> >
> > johan.e.hallgren at wmdata.com
> >
> >
> > http://www.wmdata.se
> >
> >
>



More information about the mapserver-dev mailing list