問題是,基于以下程式

注意,雖然這個問題似乎是針對 Go 的,但它實際上是
getColor()我要問的演算法。即使您不使用 Go 語言撰寫,您也可以理解/回答。
uj5u.com熱心網友回復:
您的代碼使用格式動詞%x將十六進制值列印到 SVG 的fill屬性:
fmt.Fprintf(w, "<polygon points='%g,%g %g,%g %g,%g %g,%g' fill='#%x%x%x'/>\n",
ax, ay, bx, by, cx, cy, dx, dy, r, g, b)
這會導致某些數字(如 0 和 1)被格式化為一個十六進制數字。例如 RGB (254, 0, 1) 將被格式化為fe01. 然后瀏覽器會錯誤地渲染顏色。
更改格式動詞以x確保 RGB 始終以兩個十六進制數字列印。
現在 RGB (254, 0, 1) 列印為fe0001,這是正確的十六進制顏色。
輸出:

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/450168.html
