Поиграй вокруг этого.
'View.CopyCMap
'Copy/Paste color map of image theme
theView=av.GetActiveDoc
if (theView.GetActiveThemes.Count = 0) then
MsgBox.Error("No active theme.", "Error!")
return nil
end
t = theView.GetActiveThemes.Get(0)
if (t.Is(Itheme).Not) then
MsgBox.Error("Active theme not image.", "Error!")
return nil
end
HasCMap = Clipboard.The.HasKindOf(ColorMap)
if (HasCMap) then
resp = MsgBox.YesNo("Paste ColorMap?", "", false)
if (resp) then
theCMap = Clipboard.The.ReturnKindOf(ColorMap,Rect.MakeNull).Get(0)
l = t.GetLegend
l.SetColorMap(theCMap)
t.UpdateLegend
exit
end
end
resp = MsgBox.YesNo("Copy ColorMap?", "", false)
if (resp) then
l = t.GetLegend
theCMap = l.GetColorMap
Clipboard.The.Empty
Clipboard.The.Add(theCMap)
MsgBox.Info("ColorMap copied.","")
end
Вообще то карта цветов сохраняется в APR, ODB.
Можно автоматизировать такой финт: В отдельном виде с именем растра настроить растр и сохранить этот вид в ODB с именем растра. Написать диалог открытия растра, при этом открывать ODB, копировать тему растра из загруженного ODB-вида и вставлять ее в нужный вид, после этого загруженный ODB-вид удалять.
Тупо но должно работать
Успехов