I think so. Here is the corresponding code in loadColor (mapfile.c):<div><br></div><div><div>if(symbol == MS_NUMBER) {</div><div>    color->red = (int) msyynumber;</div><div>    if(getInteger(&(color->green)) == -1) return MS_FAILURE;</div>
<div>    if(getInteger(&(color->blue)) == -1) return MS_FAILURE;</div><div>  } else if(symbol == MS_STRING) {</div><div>    int len = strlen(msyystring_buffer);</div><div>    if(msyystring_buffer[0] == '#' && (len == 7 || len == 9)) { /* got a hex color w/optional alpha */</div>
<div>      hex[0] = msyystring_buffer[1];</div><div>      hex[1] = msyystring_buffer[2];</div><div>      color->red = msHexToInt(hex);</div><div>      hex[0] = msyystring_buffer[3];</div><div>      hex[1] = msyystring_buffer[4];</div>
<div>      color->green = msHexToInt(hex);</div><div>      hex[0] = msyystring_buffer[5];</div><div>      hex[1] = msyystring_buffer[6];</div><div>      color->blue = msHexToInt(hex);</div><div>      if(len == 9) {</div>
<div>        hex[0] = msyystring_buffer[7];</div><div>        hex[1] = msyystring_buffer[8];</div><div>        color->alpha = msHexToInt(hex);</div><div>      }</div></div><div><br></div><div>Best regards,</div><div><br>
</div><div>Tamas</div><div><br></div><div><br><br><div class="gmail_quote">2012/9/24 Lime, Steve D (DNR) <span dir="ltr"><<a href="mailto:Steve.Lime@state.mn.us" target="_blank">Steve.Lime@state.mn.us</a>></span><br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">





<div lang="EN-US" link="blue" vlink="purple">
<div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Is the only way a to have color with a non-opaque alpha<255 if it was originally entered that way via hex?<u></u><u></u></span></p>

<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p>
<div style="border:none;border-top:solid #b5c4df 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Tamas Szekeres [mailto:<a href="mailto:szekerest@gmail.com" target="_blank">szekerest@gmail.com</a>]
<br>
<b>Sent:</b> Monday, September 24, 2012 9:34 AM<br>
<b>To:</b> Lime, Steve D (DNR)<br>
<b>Cc:</b> thomas bonfort; <a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a></span></p><div><div class="h5"><br>
<b>Subject:</b> Re: [mapserver-dev] Handling alpha values in colors<u></u><u></u></div></div><p></p>
</div><div><div class="h5">
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Steve,<u></u><u></u></p>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Reading alpha values (with hex colors) is already implemented in the code. However we have lack of implementation writing hex colors (in writeColor). We might consider writing the hex format (instead of the integer triplet) when the alpha
 value is in effect (0<= alpha <255) but it may cause a confusuion that setting the opacity of the style causes to write hex colors. <u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">When reading the mapfiles the opacity value overrides the alpha values specified explicitly (in hex colors).<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Best regards,<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">Tamas<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><u></u> <u></u></p>
<div>
<p class="MsoNormal">2012/9/24 Lime, Steve D (DNR) <<a href="mailto:Steve.Lime@state.mn.us" target="_blank">Steve.Lime@state.mn.us</a>><u></u><u></u></p>
<p class="MsoNormal">I'm guessing it is possible to tweak the parser using re-ahead capabilities. I believe the flex always has the next couple of tokens available for inspection. Haven't done anything like that but I recall reading about it. Will dig out my
 yacc/lex book and confirm.<br>
<br>
Montreal was right at the 6.0 release point so it wasn't something I would have recommended at that late date. Hex color support required no parser changes so was a less risky option at the time.<br>
<span style="color:#888888"><br>
<span>Steve</span></span><u></u><u></u></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
-----Original Message-----<br>
From: <a href="mailto:mapserver-dev-bounces@lists.osgeo.org" target="_blank">mapserver-dev-bounces@lists.osgeo.org</a> [mailto:<a href="mailto:mapserver-dev-bounces@lists.osgeo.org" target="_blank">mapserver-dev-bounces@lists.osgeo.org</a>] On Behalf Of thomas bonfort<br>

Sent: Sunday, September 23, 2012 5:03 AM<br>
To: Tamas Szekeres<br>
Cc: <a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a><br>
Subject: Re: [mapserver-dev] Handling alpha values in colors<br>
<br>
Tamas,<br>
The handling of alphas in colors is a bit flakey, I agree. The initial aim when we worked on this at the montreal code sprint was to drop support of the OPACITY keyword at the STYLE level in the mapserver library (while maintaining it in the parser for backwards
 compatibility), by allowing colors to be specified with quadruplets instead of triplets. I don't rememember the reason (Steve might recollect), but in the end having the parser be able to parse both triplet and quadruplet integers was not possible, and we
 are thus stuck in this less than ideal state.<br>
If someone has a solution for this parser problem that would be great, as it would open up varying opacity for all *COLOR entries.<br>
<br>
regards,<br>
thomas<br>
<br>
On Sun, Sep 23, 2012 at 11:38 AM, Tamas Szekeres <<a href="mailto:szekerest@gmail.com" target="_blank">szekerest@gmail.com</a>> wrote:<br>
> Hi All,<br>
><br>
> I don't properly understand how we intend to handle alpha values of<br>
> colors in mapserver. Currently the alpha values can be specified in<br>
> mapfiles (by using the hexadecimal format), but that values are not<br>
> written back to the file in msSaveMap.<br>
> Style level opacity seems to override alpha values specified in<br>
> mapfiles, but on the other hand we cannot specify opacity at some<br>
> places (like in label text colors).<br>
> By using the opacity values of styles seems to change the alpha values<br>
> of multiple properties (color, outlinecolor, background color etc.)<br>
> which doesn't seems to be as such generic as specifying the alpha<br>
> values for the colors individually.<br>
><br>
> I can also see the conditional compilation flag ALPHACOLOR_ENABLED in<br>
> the code, but it doesn't have much effect for the operation.<br>
><br>
> Could someone explain how the things are expected to work?<br>
><br>
> Best regards,<br>
><br>
> Tamas<br>
><br>
> _______________________________________________<br>
> mapserver-dev mailing list<br>
> <a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a><br>
> <a href="http://lists.osgeo.org/mailman/listinfo/mapserver-dev" target="_blank">
http://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><br>
><br>
_______________________________________________<br>
mapserver-dev mailing list<br>
<a href="mailto:mapserver-dev@lists.osgeo.org" target="_blank">mapserver-dev@lists.osgeo.org</a><br>
<a href="http://lists.osgeo.org/mailman/listinfo/mapserver-dev" target="_blank">http://lists.osgeo.org/mailman/listinfo/mapserver-dev</a><br>
<br>
<u></u><u></u></p>
</div>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div></div></div>
</div>

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