<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Detecting edge pixels with Marching Squares Algorithm</title>
	<atom:link href="http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/</link>
	<description>I Flash und I Flex Jaaaa</description>
	<lastBuildDate>Fri, 28 Oct 2011 05:36:18 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
	<item>
		<title>By: RIA wolf &#187; Custom dynamic hit-zones for flash objects</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1675</link>
		<dc:creator>RIA wolf &#187; Custom dynamic hit-zones for flash objects</dc:creator>
		<pubDate>Tue, 18 Oct 2011 08:01:20 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1675</guid>
		<description>[...] shape.graphics.lineTo(x,y) to draw the outline you need and fill it. The library i used is located here and the code is here 1234567891011121314&#160; &#160; public static function getOutline&#040;b : [...]</description>
		<content:encoded><![CDATA[<p>[...] shape.graphics.lineTo(x,y) to draw the outline you need and fill it. The library i used is located here and the code is here 1234567891011121314&nbsp; &nbsp; public static function getOutline&#040;b : [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Flash, show me your data! &#124; Flash and random() thoughts</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1656</link>
		<dc:creator>Flash, show me your data! &#124; Flash and random() thoughts</dc:creator>
		<pubDate>Sat, 09 Apr 2011 19:07:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1656</guid>
		<description>[...] I remember searching around a lot and found attempts by other flash fanatics to trace bitmap shapes into vector data (thinking I may give the workround through bitmap cloning of the drawn work a try),  see for instance just one example Sakri&#8217;s blog posting Detecting edge pixels with Marching Squares Algorithm. [...]</description>
		<content:encoded><![CDATA[<p>[...] I remember searching around a lot and found attempts by other flash fanatics to trace bitmap shapes into vector data (thinking I may give the workround through bitmap cloning of the drawn work a try),  see for instance just one example Sakri&#8217;s blog posting Detecting edge pixels with Marching Squares Algorithm. [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sakri</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1609</link>
		<dc:creator>sakri</dc:creator>
		<pubDate>Fri, 29 Oct 2010 08:53:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1609</guid>
		<description>Hi Carey,

That&#039;s a cool tool you&#039;re building!  The problem with the approaches that I explored last year is that I never &quot;solved&quot; curve handling. My goal was extracting edges, then converting that to vector information so that I could eventually extrude the text (or shapes) into 3d objects. In these situations, the &quot;curves&quot; are nothing more than short lines following a curve. If you were to use that for print, it would look like crap I&#039;m afraid.

Given text with vector information, to do such transformation and end up with vector data that can be scaled for printing purposes, I fear, requires some math.  I might be able to come up with a solution, but it would take time.  You might want to try contacting Jim Armstrong at http://algorithmist.wordpress.com/ . I have no idea about his availability, but I&#039;m sure it would be an easy pickle for him.</description>
		<content:encoded><![CDATA[<p>Hi Carey,</p>
<p>That&#8217;s a cool tool you&#8217;re building!  The problem with the approaches that I explored last year is that I never &#8220;solved&#8221; curve handling. My goal was extracting edges, then converting that to vector information so that I could eventually extrude the text (or shapes) into 3d objects. In these situations, the &#8220;curves&#8221; are nothing more than short lines following a curve. If you were to use that for print, it would look like crap I&#8217;m afraid.</p>
<p>Given text with vector information, to do such transformation and end up with vector data that can be scaled for printing purposes, I fear, requires some math.  I might be able to come up with a solution, but it would take time.  You might want to try contacting Jim Armstrong at <a href="http://algorithmist.wordpress.com/" rel="nofollow">http://algorithmist.wordpress.com/</a> . I have no idea about his availability, but I&#8217;m sure it would be an easy pickle for him.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Carey Richardson</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1608</link>
		<dc:creator>Carey Richardson</dc:creator>
		<pubDate>Thu, 28 Oct 2010 23:20:52 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1608</guid>
		<description>I&#039;ve built a text warping tool for a printing company. I&#039;m using Five3D&#039;s vector text to begin with. I take a control shape that the user can then move around 8 points on, creating several text shape combinations. My techinque goes column by column and gets the original height of the column and compares it the height of the same column in the same. It resizes and positions the new column to match the shape. This works pretty well except that I would like a much cleaner final output, mainly for printing. Could I use your techinque to find the drawing points of my current final bitmap or do you think it would be best to use the technique above. If I use the above technique the points on the top and bottom of the boundry box would only need to be postioned on my top and bottom curves, correct? Is that possible? I really only need to change the shape in the vertical direction, horizontal would just be a bonus.

Here is what I have:http://dev.mylocker.net/NewControlPanel/index2.html

Any suggestions are welcome. We are also willing to pay for any help. You seem like the text expert on the web when it comes to creating vector text.

Thanks for your time,

Carey</description>
		<content:encoded><![CDATA[<p>I&#8217;ve built a text warping tool for a printing company. I&#8217;m using Five3D&#8217;s vector text to begin with. I take a control shape that the user can then move around 8 points on, creating several text shape combinations. My techinque goes column by column and gets the original height of the column and compares it the height of the same column in the same. It resizes and positions the new column to match the shape. This works pretty well except that I would like a much cleaner final output, mainly for printing. Could I use your techinque to find the drawing points of my current final bitmap or do you think it would be best to use the technique above. If I use the above technique the points on the top and bottom of the boundry box would only need to be postioned on my top and bottom curves, correct? Is that possible? I really only need to change the shape in the vertical direction, horizontal would just be a bonus.</p>
<p>Here is what I have:<a href="http://dev.mylocker.net/NewControlPanel/index2.html" rel="nofollow">http://dev.mylocker.net/NewControlPanel/index2.html</a></p>
<p>Any suggestions are welcome. We are also willing to pay for any help. You seem like the text expert on the web when it comes to creating vector text.</p>
<p>Thanks for your time,</p>
<p>Carey</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: davet</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1601</link>
		<dc:creator>davet</dc:creator>
		<pubDate>Fri, 15 Oct 2010 14:42:38 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1601</guid>
		<description>I am in awe, just tried out your approach and it is awsome. Great work</description>
		<content:encoded><![CDATA[<p>I am in awe, just tried out your approach and it is awsome. Great work</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: SF &#8211; Flash + Flex + Graphics &#187; Blog Archive &#187; Detecting Edge Pixels with Marching Squares Algorithm</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1262</link>
		<dc:creator>SF &#8211; Flash + Flex + Graphics &#187; Blog Archive &#187; Detecting Edge Pixels with Marching Squares Algorithm</dc:creator>
		<pubDate>Wed, 18 Nov 2009 19:32:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1262</guid>
		<description>[...] is a great experiment from Sakri.net.  I applications for this should be amazing.  It&#039;s incredibly simple to use as well.  Say you [...]</description>
		<content:encoded><![CDATA[<p>[...] is a great experiment from Sakri.net.  I applications for this should be amazing.  It&#8217;s incredibly simple to use as well.  Say you [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Josh Noble</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1250</link>
		<dc:creator>Josh Noble</dc:creator>
		<pubDate>Thu, 03 Sep 2009 14:40:50 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1250</guid>
		<description>Super Cool thanks for sharing.</description>
		<content:encoded><![CDATA[<p>Super Cool thanks for sharing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: delfeld</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1248</link>
		<dc:creator>delfeld</dc:creator>
		<pubDate>Tue, 01 Sep 2009 16:57:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1248</guid>
		<description>I think that the garbage collection is affecting frame rate.  If you hammer on one of the buttons, you will see your frame rate drop and the memory spike.  Not sure if this matters to your results . . . .</description>
		<content:encoded><![CDATA[<p>I think that the garbage collection is affecting frame rate.  If you hammer on one of the buttons, you will see your frame rate drop and the memory spike.  Not sure if this matters to your results . . . .</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: lithander</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1239</link>
		<dc:creator>lithander</dc:creator>
		<pubDate>Sat, 25 Jul 2009 00:21:18 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1239</guid>
		<description>I just implemented the same algorithm in C#. Have you considered to use a byte instead of string to store the cell type? It should be way faster to lookup a Point by a byte index then by a string key. It&#039;s also faster to calculate. Or are there AS3 specific reasons for your approach?

private static function getGridStringFromPoint(bmd:BitmapData,position:Point):byte{
   var type:byte = 0;
   if(bmd.getPixel32(position.x+_scan_point0.x,position.y+_scan_point0.y)&gt;0x0)
     type +=1;
   if(bmd.getPixel32(position.x+_scan_point1.x,position.y+_scan_point1.y)&gt;0x0)
     type += 2;
   if(bmd.getPixel32(position.x+_scan_point2.x,position.y+_scan_point2.y)&gt;0x0)
     type += 4;
   if(bmd.getPixel32(position.x+_scan_point3.x,position.y+_scan_point3.y)&gt;0x0)
     type += 8;

   return byte;
}</description>
		<content:encoded><![CDATA[<p>I just implemented the same algorithm in C#. Have you considered to use a byte instead of string to store the cell type? It should be way faster to lookup a Point by a byte index then by a string key. It&#8217;s also faster to calculate. Or are there AS3 specific reasons for your approach?</p>
<p>private static function getGridStringFromPoint(bmd:BitmapData,position:Point):byte{<br />
   var type:byte = 0;<br />
   if(bmd.getPixel32(position.x+_scan_point0.x,position.y+_scan_point0.y)&gt;0&#215;0)<br />
     type +=1;<br />
   if(bmd.getPixel32(position.x+_scan_point1.x,position.y+_scan_point1.y)&gt;0&#215;0)<br />
     type += 2;<br />
   if(bmd.getPixel32(position.x+_scan_point2.x,position.y+_scan_point2.y)&gt;0&#215;0)<br />
     type += 4;<br />
   if(bmd.getPixel32(position.x+_scan_point3.x,position.y+_scan_point3.y)&gt;0&#215;0)<br />
     type += 8;</p>
<p>   return byte;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: trop bien le blog &#187; vectorisation v0</title>
		<link>http://www.sakri.net/blog/2009/05/28/detecting-edge-pixels-with-marching-squares-algorithm/#comment-1194</link>
		<dc:creator>trop bien le blog &#187; vectorisation v0</dc:creator>
		<pubDate>Thu, 04 Jun 2009 11:24:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.sakri.net/blog/?p=322#comment-1194</guid>
		<description>[...] c&#8217;est cool&#8230;  sakri nous a pondu un savoureux petit algorithme de marching squares  qui est le petit frère des marching cubes et qui sert à détourer (vectoriser) des formes dans [...]</description>
		<content:encoded><![CDATA[<p>[...] c&#8217;est cool&#8230;  sakri nous a pondu un savoureux petit algorithme de marching squares  qui est le petit frère des marching cubes et qui sert à détourer (vectoriser) des formes dans [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

