<img src="cid:ii_137855bf3c232b11" alt="Inline image 1"><div><br></div><div>Thanks!!!</div><div><br></div><div>So that explains why the red, green, blue values go 0 to 100 instead of 0 to 255.</div><div><br></div><div>The kids will have fun with this, I am going to try and get them to create some &quot;green screen effects&quot; using Etoys.  I&#39;ll let everyone know how it goes and post a how on the squeakland list.</div>
<div><br></div><div>Stpehen<br><br><div class="gmail_quote">
On Fri, May 25, 2012 at 2:32 PM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div style="word-wrap:break-word"><div>Well, for one, all these values are fractions in the range 0 to 1.</div><div><br></div><div>If you use 0 in your example, the image will become fully transparent. If you use 1, it will be fully opaque. </div>

<div><br></div><div>Since 16 bit forms store only 1 bit of alpha (and 5 bits each for red, green, and blue), you cannot do more than toggle that bit. </div><div><br></div><div>If you want real translucency, create newForm with 32 bits of depth instead of 16. Then each component gets full 8 bits, and e.g. using an alpha of 0.5 will make the whole image half-transparent.</div>

<div><br></div><span style="font-family:Helvetica;font-size:12px">- Bert -</span><div><font face="Helvetica"><br></font><div><div>On 25.05.2012, at 20:23, Steve Thomas wrote:</div><br><blockquote type="cite"><div style="text-align:center">

<span>&lt;Screen Shot 2012-05-25 at 2.22.06 PM.png&gt;</span><br></div><div><div><div style="text-align:left"><div>I tried setting alpha to 50, but it didn&#39;t work, see script below.</div><div><br></div>
<div>recolor</div><div><span style="white-space:pre-wrap">        </span>| oldForm newForm old new avg |</div><div><span style="white-space:pre-wrap">        </span>oldForm := ErnieRubberDuckie getGraphic.</div>
<div><span style="white-space:pre-wrap">        </span>newForm := Form extent: oldForm extent depth: 16.</div><div><span style="white-space:pre-wrap">        </span>0</div><div><span style="white-space:pre-wrap">                </span>to: oldForm height - 1</div>


<div><span style="white-space:pre-wrap">                </span>do: [:y | 0</div><div><span style="white-space:pre-wrap">                                </span>to: oldForm width - 1</div><div><span style="white-space:pre-wrap">                                </span>do: [:x | </div>
<div><span style="white-space:pre-wrap">                                        </span>old := oldForm colorAt: x @ y.</div><div><span style="white-space:pre-wrap">                                        </span>avg := old red + old green + old blue / 3.</div>
<div><span style="white-space:pre-wrap">                                        </span>new := Color</div><div><span style="white-space:pre-wrap">                                                                </span>r: old red * 0 + avg</div><div><span style="white-space:pre-wrap">                                                                </span>g: old green * 0 + avg</div>


<div><span style="white-space:pre-wrap">                                                                </span>b: old blue * 0 + avg</div><div><b><span style="white-space:pre-wrap">                                                                </span>alpha: 50.</b></div><div><span style="white-space:pre-wrap">                                        </span>newForm colorAt: x @ y put: new]].</div>


<div><span style="white-space:pre-wrap">        </span>self setGraphic: newForm</div><div><br></div><div><br></div></div></div></div><div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div><div><br><div class="gmail_quote"><div><div>On Fri, May 25, 2012 at 7:59 AM, Bert Freudenberg <span dir="ltr">&lt;<a href="mailto:bert@freudenbergs.de" target="_blank">bert@freudenbergs.de</a>&gt;</span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div><div><div><div><div><div>On 25.05.2012, at 12:35, Steve Thomas wrote:</div>

<br>
<blockquote type="cite">How can I loop through each pixel in an image and get their red,green,blue values?<div>I also would like to be able to create a new image using those values (modified, for example set red=red*0.5)</div>



<div><br></div><div>
I know Karl did a great project <a href="http://www.squeakland.org/showcase/project.jsp?id=7044" style="font-family:Verdana,Arial,sans-serif;font-size:1.1em;line-height:16px;color:rgb(0,51,153)" target="_blank">Color Reading And Writing</a><span style="line-height:16px;color:rgb(0,51,153);font-size:1.1em;font-family:Verdana,Arial,sans-serif"> which I could use, but would like to introduce some of the kids to squeak.</span></div>




<div></div><font color="#003399" face="Verdana, Arial, sans-serif"><span style="font-size:13px;line-height:16px"><br></span></font></blockquote><br></div></div></div></div></div><div><span>&lt;PastedGraphic-10.png&gt;</span></div>



<div><br></div><div><span>&lt;PastedGraphic-11.png&gt;</span></div><span><font color="#888888"><br><div>
<div style="font-family:Helvetica;font-size:12px">- Bert -</div>
</div>
<br></font></span></div></blockquote></div><br>
</div></div></blockquote></div><br></div>
</blockquote></div><div><span style="line-height:normal;text-indent:0px;border-collapse:separate;letter-spacing:normal;font-variant:normal;text-transform:none;font-style:normal;white-space:normal;font-family:&#39;Lucida Grande&#39;;font-weight:normal;word-spacing:0px"><br>

</span>
</div>
<br></div></div></blockquote></div><br></div>