Note that there are some explanatory texts on larger screens.

plurals
  1. POParse a text file containing image data
    text
    copied!<p>i have been able to read the data from a text file using Imagemagick from <a href="http://www.imagemagick.org" rel="nofollow">http://www.imagemagick.org</a>. </p> <p>and i get </p> <pre><code>0,0: (255,255,255, 0) #FFFFFF00 srgba(255,255,255,0) 1,0: (255,255,255, 0) #FFFFFF00 srgba(255,255,255,0) 2,0: (255,255,255, 0) #FFFFFF00 srgba(255,255,255,0) 40,23: (162,167, 32, 24) #A2A72018 srgba(162,167,32,0.0941176) 41,23: (255,255,255, 0) #FFFFFF00 srgba(255,255,255,0) 42,23: (162,166, 48, 40) #A2A63028 srgba(162,166,48,0.156863) 43,23: (162,166, 47, 40) #A2A62F28 srgba(162,166,47,0.156863) </code></pre> <p>i am not good with regular expressions what kinda of expression would i use to get the coords at the beginning and the rgba() at the end.</p> <p>ok i have kinda figured out the regular expression here is a par of it</p> <pre><code>/rgba\([0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]\.[0-9]{1-9}/gi </code></pre> <p>but the last part is not matching to the decimal part of the rgba().</p> <p>ok i know its been awhile and i am not sure if i should start a new thread</p> <p>but i have figured out how to remove to remove the two middle parts, all the parentheses and srgba, also the lines with zero alpha, but somehow it leaves an open space in the text file. if there is any improvements that anybody can see.</p> <pre><code>$fh = fopen("pcmanD.txt", "r"); $fg = fopen("pcmanJ.txt", "wt"); $new_array = ""; $parts = ""; while (!feof($fh)) { $line = fgets($fh); $lines[] = $line; $newword = ""; $match1 ="/:\s?\s?\(\s?\s?\d+,\s?\s?\d+,\s?\s?\d+,\s?\s?\d+\)\s?\s?#[a-zA-Z0-9]{6,8}\s?\s?srgba/"; $match2 ="/^\s\s?/"; $match3 = "/\s\(/"; $match4 = "/\)/"; $match5 = "/[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},[0-9]{1,3},0[^\.]/"; $parts1 = preg_replace($match1,"", $line ); $parts2 = preg_replace($match2,"", $parts1 ); $parts3 = preg_replace($match3,",", $parts2 ); $parts4 = preg_replace($match4,"", $parts3 ); $parts5 = preg_replace($match5,"",$parts4); echo "&lt;pre&gt;"; print_r($parts5); echo "&lt;/pre&gt;"; fwrite($fg, $parts5); } fclose($fg); fclose($fh); </code></pre> <p>but new problem arises with this code where i get double or triple on the floating points after the match.</p> <pre><code>$thisisit[] = ""; $thisisit2[] = ""; $countThis = 0; $fh = fopen("sometext.txt", "r"); $new_array = ""; $parts = ""; while (!feof($fh)) { $line = fgets($fh); $line2 = $line; $newword = ""; $match1 ="/^\s*?[\d]+,[\d]+/"; $parts1 = preg_match($match1, $line, $regs); foreach($regs as $key =&gt; $lame) { $thisisit[] = $lame; } $match2 ="/(?:(\d{1,3},\d{1,3},))(\d{1,3},\d{1,3},\d{1,3},[01][\.]?[\d]*)/"; $parts2 = preg_match($match2, $line2, $regs2); foreach($regs2 as $key2 =&gt; $lame2) { $thisisit2[] =$lame2; } $countLame = count($thisisit); } echo "&lt;/script&gt;"; $newCounter = 0; for($i = 0; $i &lt; (500); $i++) { echo $thisisit[$i] . "&lt;br /&gt;"; echo $thisisit2[$newCounter] . "&lt;br /&gt;" ; $newCounter = $newCounter +4; } fclose($fh); </code></pre> <p>here is some text in the text file i am working on</p> <pre><code> 42,23,162,166,48,0.156863 43,23,162,166,47,0.156863 44,23,167,170,67,0.219608 45,23,162,166,47,0.156863 46,23,167,170,67,0.219608 47,23,162,166,37,0.117647 48,23,162,167,32,0.0941176 86,23,163,167,40,0.12549 87,23,160,164,47,0.164706 88,23,188,190,122,0.352941 86,24,233,234,197,0.486275 87,24,251,250,250,1 88,24,251,250,250,1 89,24,251,250,250,1 </code></pre>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload