<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <font face="Georgia">You could try something like this:<br>
      <br>
      test1<br>
      "<br>
      BobsColorTest new test1<br>
      "<br>
      &nbsp;&nbsp;&nbsp; | target cmap1 inputData cmap2 nextPV cmap3 |<br>
      &nbsp;&nbsp;&nbsp; <br>
      &nbsp;&nbsp;&nbsp; inputData _ Form extent: 800@800 depth: 16.<br>
      &nbsp;&nbsp;&nbsp; nextPV _ 1.<br>
      &nbsp;&nbsp;&nbsp; 0 to: 799 do: [ :x |<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 0 to: 799 do: [ :y |<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; inputData pixelValueAt: x@y put: (nextPV _ nextPV + 1)
      \\ 30000.<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ].<br>
      &nbsp;&nbsp;&nbsp; ].<br>
      &nbsp;&nbsp;&nbsp; cmap1 _&nbsp; Bitmap new: 32768.<br>
      &nbsp;&nbsp;&nbsp; 1 to: cmap1 size do: [:i | cmap1 at: i put: i&nbsp; \\ 1023 * 32 +
      1].<br>
      &nbsp;&nbsp;&nbsp; cmap2 _&nbsp; Bitmap new: 32768.<br>
      &nbsp;&nbsp;&nbsp; 1 to: cmap2 size do: [:i | cmap2 at: i put: i - 1 \\ 32 + 1].<br>
      &nbsp;&nbsp;&nbsp; cmap3 _&nbsp; Bitmap new: 32768.<br>
      &nbsp;&nbsp;&nbsp; 1 to: cmap3 size do: [:i | cmap3 at: i put: i - 1].<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br>
      &nbsp;&nbsp;&nbsp; {cmap1. cmap2. cmap3} do: [ :map |<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; target _ Form extent: inputData extent depth: inputData
      depth.<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; (BitBlt current toForm: target)<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sourceForm: inputData;<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sourceOrigin: 0@0;<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; combinationRule: Form paint;<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; destX: 0 destY: 0 width: inputData width height:
      inputData height;<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; colorMap: map;<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; copyBits.<br>
      &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; target asMorph openInWorld.<br>
      &nbsp;&nbsp;&nbsp; ].<br>
      <br>
      Cheers,<br>
      Bob<br>
      <br>
    </font>
    <div class="moz-cite-prefix">On 8/3/12 7:30 PM, Lawson English
      wrote:<br>
    </div>
    <blockquote cite="mid:501C5F23.202@cox.net" type="cite">OK, I'm such
      a noob here, that I'm not quite sure how to ask my question...
      <br>
      <br>
      <br>
      I have a "dwell file" -an array of values generated by a
      Mandelbrot Set application, one per pixel, with arbitrary values
      between 1 and xxxxxxxxxxx (currently less than 2 billion, and
      right now far less than 1,000,000)- and I would like to use them,
      suitably tweaked, as indices into a ColorMap. The ColorMap need
      not have 1,000,000 entries. No-one can see that many color
      differences in a Mandelbrot set anyway.
      <br>
      <br>
      I can generate an array of Color (ColorArray?) but I'm not sure
      how to use them to create the ColorMap, and I'm not sure how to
      use the ColorMap to speedily change what is drawn in the first
      place.
      <br>
      <br>
      Right now, I'm creating a color dictionary and drawing via:
      <br>
      <br>
      <br>
      1 to: 800 do: [:y|
      <br>
      &nbsp;&nbsp;&nbsp; 1 to: 800 do: [:x| |i|
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; i := x+ ((y-1) *800).&nbsp; aForm colorAt: x@y put:(
      myDictColors at:&nbsp; (myArray at: i )).]
      <br>
      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ].
      <br>
      <br>
      <br>
      where myDictColors is a dictionary whose keys are the dwells
      listed in the dwell array file and whose values are Color objects
      from my array of colors.
      <br>
      <br>
      Drawing the above takes about 1.5 seconds, which is a bit slow.
      I'd like realtime-ish updating as I play with colors in the
      palette. Can this be done, at least up to the 4096 color limit
      that BitBlt has for ColorMaps?
      <br>
      <br>
      If so, how?&nbsp; I've been trying to figure out the various classes
      and I'm stumped.
      <br>
      <br>
      <br>
      Thanks
      <br>
      <br>
      <br>
      <br>
      <br>
      <br>
    </blockquote>
    <br>
  </body>
</html>