123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178 |
- <!DOCTYPE html>
- <html>
- <head>
- <title>Reftest analyzer</title>
- <meta charset="utf-8">
- <link rel="stylesheet" href="reftest-analyzer.css">
- <script src="reftest-analyzer.js"></script>
- </head>
- <body>
- <div id="entry">
- <h1>Reftest analyzer</h1>
- <p>
- Paste your log into this textarea:<br>
- <textarea cols="80" rows="10" id="logEntry"></textarea><br>
- <input type="button" value="Process pasted log" id="logPasted">
- </p>
- <p>
- <br>...or load it from a file:<br>
- <input type="file" id="fileEntry">
- </p>
- </div>
- <div id="loading">Loading log...</div>
- <div id="viewer">
- <div id="pixelarea">
- <div id="pixelinfo">
- <table>
- <tbody>
- <tr>
- <th>Pixel at:</th>
- <td colspan="2" id="coords"></td>
- </tr>
- <tr>
- <th>Test:</th>
- <td id="pix1rgb"></td>
- <td id="pix1hex"></td>
- </tr>
- <tr>
- <th>Reference:</th>
- <td id="pix2rgb"></td>
- <td id="pix2hex"></td>
- </tr>
- </tbody>
- </table>
- <div>
- <div id="pixelhint">?
- <div>
- <p>Move the mouse over the reftest image on the right to show
- magnified pixels on the left. The color information above is for
- the pixel centered in the magnified view.</p>
- <p>The test is shown in the upper triangle of each pixel and
- the reference is shown in the lower triangle.</p>
- </div>
- </div>
- </div>
- </div>
- <div id="magnification">
- <svg xmlns="http://www.w3.org/2000/svg" width="84" height="84" shape-rendering="optimizeSpeed">
- <g id="mag" />
- </svg>
- </div>
- </div>
- <div id="itemlist">
- <table id="itemtable"></table>
- </div>
- <div id="imagepane">
- <form id="imgcontrols">
- <label>
- <input type="radio" name="which" id="testImage" value="0" checked="checked"> Test
- </label>
- <label>
- <input type="radio" name="which" id="referenceImage" value="1"> Reference
- </label>
- <label>
- <input type="checkbox" id="differences"> Circle differences
- </label>
- <span id="shortcuts">Shortcuts: n=next p=previous t=toggle d=differences</span>
- </form>
- <div id="images">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="800" height="1000" id="svg">
- <defs>
-
- <filter id="showDifferences" x="0%" y="0%" width="100%" height="100%"
- style="color-interpolation-filters: sRGB">
- <feImage id="feimage1" result="img1" xlink:href="#image1" />
- <feImage id="feimage2" result="img2" xlink:href="#image2" />
-
- <feComponentTransfer result="inv1" in="img1">
- <feFuncR type="linear" slope="-1" intercept="1" />
- <feFuncG type="linear" slope="-1" intercept="1" />
- <feFuncB type="linear" slope="-1" intercept="1" />
- </feComponentTransfer>
- <feComponentTransfer result="inv2" in="img2">
- <feFuncR type="linear" slope="-1" intercept="1" />
- <feFuncG type="linear" slope="-1" intercept="1" />
- <feFuncB type="linear" slope="-1" intercept="1" />
- </feComponentTransfer>
-
- <feComposite result="w1" in="img1" in2="inv2" operator="arithmetic" k2="1" k3="1" />
- <feComposite result="w2" in="img2" in2="inv1" operator="arithmetic" k2="1" k3="1" />
-
- <feComponentTransfer result="c1" in="w1">
- <feFuncR type="linear" slope="-1" intercept="1" />
- <feFuncG type="linear" slope="-1" intercept="1" />
- <feFuncB type="linear" slope="-1" intercept="1" />
- </feComponentTransfer>
- <feComponentTransfer result="c2" in="w2">
- <feFuncR type="linear" slope="-1" intercept="1" />
- <feFuncG type="linear" slope="-1" intercept="1" />
- <feFuncB type="linear" slope="-1" intercept="1" />
- </feComponentTransfer>
-
- <feComposite result="c" in="c1" in2="c2" operator="arithmetic" k2="255" k3="255" />
-
- <feColorMatrix result="a" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0" />
-
- <feMorphology result="dila4" in="a" operator="dilate" radius="4" />
-
- <feMorphology result="dila1" in="a" operator="dilate" radius="1" />
-
- <feComposite result="highlight" in="dila4" in2="dila1" operator="out" />
- <feFlood result="red" flood-color="red" />
- <feComposite result="redhighlight" in="red" in2="highlight" operator="in" />
- <feFlood result="black" flood-color="black" flood-opacity="0.5" />
- <feMerge>
- <feMergeNode in="black" />
- <feMergeNode in="redhighlight" />
- </feMerge>
- </filter>
- </defs>
- <g id="magnify">
- <image x="0" y="0" id="image1" />
- <image x="0" y="0" id="image2" />
- </g>
- <rect id="diffrect" filter="url(#showDifferences)" pointer-events="none" x="0" y="0" width="100%" height="100%" />
- </svg>
- </div>
- </div>
- </body>
- </html>
|