' get the original grid legend and write parameters to a temporary table theview = av.getactivedoc thetheme = theview.getactivethemes.get(0) theleg = thetheme.getlegend thenum = theleg.getnumclasses - 1 thevtab = vtab.makenew("c:\temp\class2.dbf".asfilename, dbase) thevtab.seteditable(true) therecfld = field.make("Recno", #FIELD_DECIMAL, 6,0) thelfld = field.make("Label", #FIELD_CHAR, 30, 0) therfld = field.make("Range", #FIELD_CHAR, 30, 0) theminfld = field.make("Min", #FIELD_DECIMAL, 15, 5) themaxfld = field.make("Max", #FIELD_DECIMAL, 15, 5) thevtab.addfields({therecfld, thelfld, therfld, theminfld, themaxfld}) for each i in 0..thenum therec = thevtab.addrecord theleglist = theleg.returnclassinfo(i) thelabel = theleglist.get(0).clone therange = theleglist.get(1).clone themin = theleglist.get(3).clone themax = theleglist.get(4).clone thevtab.setvalue(therecfld, therec, (i + 1)) thevtab.setvalue(thelfld, therec, thelabel) thevtab.setvalue(therfld, therec, therange) thevtab.setvalue(theminfld, therec, themin) thevtab.setvalue(themaxfld, therec, themax) theleglist.empty end thevtab.seteditable(false) 'reclass grid using the temporary table g = thetheme.getgrid.reclass(thevtab, theminfld, themaxfld, therecfld, true) theview = av.getactivedoc thetheme = theview.getactivethemes.get(0) defaultName = FN.Make("$HOME").MakeTmp("grdimg","") thegfilename = FileDialog.Put(defaultName,"*","New Grid Theme") if (thegfilename = nil) then return nil end g.savedataset(thegfilename) thecfilename = (thegfilename.asstring+".clr").asfilename clr = LineFile.Make( thecfilename, #FILE_PERM_WRITE ) leg = thetheme.getlegend count = leg.getclassifications.count for each i in 0..(count-1) if (i = 0) then thecolor = leg.getsymbols.get(count-1).getcolor else thecolor = leg.getsymbols.get(i-1).getcolor end r = thecolor.getrgblist.get(0) g = thecolor.getrgblist.get(1) b = thecolor.getrgblist.get(2) thestring = " "+i.asstring++r.asstring++g.asstring++b.asstring clr.writeelt(thestring) end clr.close myImageSrc = ImgSrc.Make(thegfilename.asstring.asSrcName) MyITheme = ITheme.Make(MyImageSrc) theview.addtheme(myitheme) myitheme.setvisible(true) theview.invalidate