我正在嘗試制作一個腳本來查找專案的寬度并檢查所選專案的寬度是否相同,然后顯示警報。
由于某種原因,即使滿足所有條件,我的 if 條件也不起作用。
這是我的代碼:
var doc = app.activeDocument;
function mm(n) {return n / 2.83464566929134;}
function pt(n) {return n * 2.83464566929134;}
//=====================
// Calculate Prisa
//=====================
var prisa = doc.pathItems.getByName("prisa");
var prisawidth = mm(prisa.geometricBounds[2]-prisa.geometricBounds[0]);
//=========================
// Calculate Selection
//=========================
var sel = doc.selection[0];
var selwidth = mm(sel.geometricBounds[2]-sel.geometricBounds[0]);
if (selwidth == prisawidth) {alert("Same Width");}
uj5u.com熱心網友回復:
你可以試試這個:
if (Math.abs(selwidth - prisawidth) < .01) alert("About the same width");
我認為問題與數字的四舍五入有關。比如說,你可以看到“2 mm”和“2 mm”,但實際上有“2.00001 mm”和“2.00002 mm”之類的東西。因此,需要在比較之前對 fugures 進行四舍五入,或者檢查差異是否小于某個最小值。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/444573.html
