Hi.
I would like to export a colour palette from Mathematica to Origin8.5. The Origin manual says that this requires a file in the format .pal (Microsoft palette format). I could not figure out so far how to create such file using Mathematica. I saw that someone did this with Matlab (see here: http://de.mathworks.com/matlabcentral/fileexchange/43114-cmap2pal-convert-matlab-colormap-to-binary-pal-format?requestedDomain=www.mathworks.com )
which actually works nicely. Anyone experience with such a thing? Any help would be greatly appreciated.
Thanks, Markus
May I ask why do you need that if you can plot most of things in Mathematica directly?
sghuisman
(Sander Huisman)
3
I followed this description: Making sure you're not a bot!
SetDirectory[NotebookDirectory[]];
ClearAll[ExportPal]
ExportPal[fnout_String,colors_List]:=Module[{colorout,length,str},colorout=Select[colors,ColorQ];
If[Length[colorout]>0,
colorout=List@@@(ColorConvert[#,"RGB"]&/@colorout);
colorout=Take[#,3]&/@colorout; (* remove alpha channel if present *)
colorout=Append[0]/@Round[255 colorout];
length=4+4+4+4+2+2+4Length[colors];
str=OpenWrite[fnout,BinaryFormat->True];
BinaryWrite[str,"RIFF"];
BinaryWrite[str,length,"Integer32"];
BinaryWrite[str,"PAL "];
BinaryWrite[str,"data"];
BinaryWrite[str,4Length[colors]+4,"Integer32"];
BinaryWrite[str,16^^0300,"Integer16"];
BinaryWrite[str,Length[colors],"Integer16"];
BinaryWrite[str,Join@@colorout,"Byte"];
Close[str]
,
Print["plz check z colors, something wrong! kthxbye!"];
Abort[]
]
]
ExportPal["out.pal",{RGBColor[0.5,0.1,0.8,0.1],Blue,Green,LABColor[0.33,-0.48,-0.54]}]
Unfortunately I don’t have any software to test the pal file… so let me know if it works…
Dear Sander. It works. This is very nice, thank you for the help. This tool will be very helpful for me in the future. Best, Markus
sghuisman
(Sander Huisman)
5
You’re welcome! It is not often that my software works at first try 
sghuisman
(Sander Huisman)
6
I made a small update to the code, in case you give an rgb color with alpha-channel.