我不知道是否會有解決方案。畫布線寬度在畫布寬度變化時發生變化
我有我希望改變的寬度的畫布元件。我知道這很容易,但是當寬度變化時,當寬度變得更窄/更寬時,圖形中的線條也變得更薄/更厚。
我可能通過重繪圖像和縮放和lineWidth等來玩弄周圍,但我不想每次寬度改變時重新繪製(我正在使用setInterval改變寬度,所以我不會我認爲每40到50毫秒重新繪製 - 毫秒是一個合理/可行的解決方案)。
任何人都可以想辦法解決這個問題嗎?
一個簡單的解釋,解釋,我有:
ctx.beginPath()
ctx.strokeStyle="#000000";
ctx.lineWidth=1;
ctx.strokeRect(10, 10, 400, 400);
所以當的畫布的變化寬度,線寬變得小於1個像素,到它變爲「斷」和消失的點。
在寫這個問題,我認爲越來越多,唯一的解決辦法是重新繪製圖像,但請讓我知道你的想法。
加成*** 我用這改變寬度,希望這是有道理的:
repeater = setInterval(function() {
$(".action").css("width", originalWidth - borderRight - borderLeft + (mouseX - clickX));
}, 40);
我檢查時,鼠標移到畫布的右側邊緣,然後點擊「鼠標按下」 originalWidth,borderRight,borderLeft ,mouseX和clickX被設置在中繼器的外部,所以當鼠標左右移動時,寬度增加/減少。當然,間隔在「mouseup」上清除。
謝謝邁克
你如何改變畫布的寬度?有一個正確的方法和一個錯誤的方式來做到這一點。 – Philipp
好吧,公正的評論!我使用setInterval並使用jQuery .css(「width」,newWidth)更改寬度。這是我所做的自定義調整大小功能。我會更新我的問題,希望能更好地解釋一下。 – Mike