MathGroup Archive 2011

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Writing images from manipulate

  • To: mathgroup at smc.vnet.net
  • Subject: [mg117669] Re: Writing images from manipulate
  • From: "Sjoerd C. de Vries" <sjoerd.c.devries at gmail.com>
  • Date: Tue, 29 Mar 2011 06:57:17 -0500 (EST)
  • References: <imfa77$ion$1@smc.vnet.net>

Setting SynchronousUpdating  to False (instead of True) will probably
help.

As far as I can see there is no reason to use nb = CreatePalette[nm =
SystemDialogInput["FileSave"]];
nm = SystemDialogInput["FileSave"] on its own will work.

What's the purpose of  currentgraphic = currentgraphic = ... ?

WRT to saving various file types you might like a construction like:
SystemDialogInput["FileSave", {Directory[], {"TIFF" -> {"*.tif"},
   "JPEG" -> {"*.jpg", "*.jpeg"}, "GIF" -> {"*.gif"},
   "PNG" -> {"*.png"}}}]

Cheers -- Sjoerd

On Mar 24, 12:33 pm, "W. Craig Carter" <ccar... at mit.edu> wrote:
> Dear MathGroup,
> I am teaching a laboratory course. As part of one laboratory, students
> run a simulation on their laptops and then use a generated image in
> their lab reports.
>
> I have a method of writing images from Manipulate, ***but it fails on
> some but not all*** windows laptops that the students use.
>
> I've made as simplified representation of the code and am pasting it
> here. I hope that it is not too long to receive some advice.
>
> The relevant bit is at the If[WriteImage,..] part.  Is there a more
> reliable way to save the image?
>
> Also, I am wondering if the constant reevaluation of the  
> If[Evolution=="go",...] part can be avoided, or should I not worry
> about it.
>
> Just running the Manipulate will give a self-explanatory idea of what
> the code is doing., Thanks Craig
>
> seeds = RandomReal[{0, 1}, {20, 2}]
> radii = ConstantArray[0, {20}]
> colors =  Hue /@ RandomReal[{0, 1}, {20}]
>
> Manipulate[
>
>  If[reset,
>   radii = ConstantArray[0, {20}]; reset = False;
>   currentgraphic =
>    currentgraphic =
>     Graphics[
>      GraphicsComplex[seeds,
>       Map[{colors[[#]], Disk[#, radii[[#]]]} &, Range[20]]]]];
>
>  If[WriteImage,(*works on a mac, works on *some* windows*)
>
>   nb = CreatePalette[nm = SystemDialogInput["FileSave"]];
>   WriteImage = False;
>   Export[nm, currentgraphic];
>   NotebookClose[nb]
>   ];
>
>  If[Evolution == "Go", (*constant evaluation of the if?*)
>   radii += RandomReal[{0, .0001}, {20}];
>   currentgraphic =
>    Graphics[
>     GraphicsComplex[seeds,
>      Map[{colors[[#]], Disk[#, radii[[#]]]} &, Range[20]]]];
>   ];
>  currentgraphic,
>
>  {Evolution, {"Stop", "Go"}, ControlType -> RadioButton, Labeled -> Fal=
se},
>  {{WriteImage, False, "Write Image File"}, {True, False},
>   ControlType -> Checkbox, Labeled -> False},
>  {{reset, False, "reset to zero"}, {True, False}, ControlType -> Checkb=
ox,
>   Labeled -> False},
>  TextCell[
>   "Use .tiff, .gif, or .jpeg, etc, file extensions explicitly for image=
 file \
> formats"],
>  SynchronousUpdating -> True,
>  Initialization -> (
>    currentgraphic =
>     currentgraphic =
>      Graphics[
>       GraphicsComplex[seeds,
>        Map[{colors[[#]], Disk[#, radii[[#]]]} &, Range[20]]]])
>  ]



  • Prev by Date: Re: Importing into Mathematica from URL (PubMed)
  • Next by Date: Re: "set" data structure in Mathematica? (speeding up graph traversal function)
  • Previous by thread: Re: Writing images from manipulate
  • Next by thread: Re: Writing images from manipulate