我有一個滑塊,該值可以改變添加到圖像上的亮度量。測量滑塊移動之間的變化
$("#brightSlider").slider({
value: 0,
min: -20,
max: 20,
step: 0.1,
slide: function(event, ui) {
var curVal = ui.value;
$('#amount').text(curVal); // show slider value
},
stop: function(event, ui) { // when slider stops, perform the function
var curVal2 = ui.value;
Caman('#example', function() {
this.brightness(curVal2); // add brightness
this.render(); // render it
});
}
});
現在,每次滑塊停止時都會添加亮度,因此它會停止在10,亮度將增加10。然後稍微停下來15點,15點加入亮度。 因此,在這兩張幻燈片之後,圖像已經有效地增加了25個亮度,一個10和一個15.
實際上應該做的是加10,然後加5以使總數達到15,不加15.因此,如果第二張幻燈片降低到-5,它應該從亮度中扣除-5,但它會做的是添加5(原始10 - 5)
我可以在渲染之間還原圖像,但這會創建當圖像恢復到正常狀態時閃光,這簡直是醜陋的。
問題有沒有辦法測量幻燈片之間的差異?
這這種方式行不通是接近但不正確 - 如果你將滑塊翻轉到20,然後下降到-20,差異變量顯示爲-40,當它應該只顯示爲-20 –
@DarrenSweeney然後你需要跟蹤初始值並根據該值執行所有計算而不是以前的值。 –