Browse Source

Merge branch 'kamilbielawski-distance_based_intensity'

pull/34/head
James Cryer 10 years ago
parent
commit
07add15c1e
  1. 14
      demoassets/main.js
  2. 10
      index.html
  3. 21
      resemble.js

14
demoassets/main.js

@ -151,6 +151,20 @@ $(function(){
resembleControl.repaint();
}
else
if($this.is('#flatDifferenceIntensity')){
resemble.outputSettings({
errorType: 'flatDifferenceIntensity'
});
resembleControl.repaint();
}
else
if($this.is('#movementDifferenceIntensity')){
resemble.outputSettings({
errorType: 'movementDifferenceIntensity'
});
resembleControl.repaint();
}
else
if($this.is('#opaque')){
resemble.outputSettings({
transparency: 1

10
index.html

@ -98,12 +98,18 @@
<button class="btn active" id="pink">Pink</button>
<button class="btn" id="yellow">Yellow</button>
</div>
<br/>
<br/>
<div class="btn-group buttons" style="display:none">
<button class="btn active" id="flat">Flat</button>
<button class="btn" id="movement">Movement</button>
<button class="btn" id="flatDifferenceIntensity">Flat with diff intensity</button>
<button class="btn" id="movementDifferenceIntensity">Movement with diff intensity</button>
</div>
<br/>
<br/>
<div class="btn-group buttons" style="display:none">
<button class="btn active" id="opaque">Opaque</button>
<button class="btn" id="transparent">Transparent</button>
@ -188,4 +194,4 @@ resemble(file).compareTo(file2).onComplete(function(){
<script src="resemble.js"></script>
<script src="demoassets/main.js"></script>
</body>
</html>
</html>

21
resemble.js

@ -15,6 +15,10 @@ URL: https://github.com/Huddle/Resemble.js
alpha: 255
};
function colorsDistance(c1, c2){
return (Math.abs(c1.r - c2.r) + Math.abs(c1.g - c2.g) + Math.abs(c1.b - c2.b))/3;
}
var errorPixelTransform = {
flat : function (d1, d2){
return {
@ -31,6 +35,23 @@ URL: https://github.com/Huddle/Resemble.js
b: ((d2.b*(errorPixelColor.blue/255)) + errorPixelColor.blue)/2,
a: d2.a
}
},
flatDifferenceIntensity: function (d1, d2){
return {
r: errorPixelColor.red,
g: errorPixelColor.green,
b: errorPixelColor.blue,
a: colorsDistance(d1, d2)
}
},
movementDifferenceIntensity: function (d1, d2){
var ratio = colorsDistance(d1, d2)/255 * 0.8;
return {
r: ((1-ratio)*(d2.r*(errorPixelColor.red/255)) + ratio*errorPixelColor.red),
g: ((1-ratio)*(d2.g*(errorPixelColor.green/255)) + ratio*errorPixelColor.green),
b: ((1-ratio)*(d2.b*(errorPixelColor.blue/255)) + ratio*errorPixelColor.blue),
a: d2.a
}
}
};

Loading…
Cancel
Save