●●●●TCL/TKなら俺に聞け 4●●●● (541レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

463: デフォルトの名無しさん [sage] 2021/11/20(土) 21:48:15.60 ID:EfeaK0DT(1) AAS
複合パスによるクリッピングがうまくいかない件
TkZinc のソースを軽く見た感じでは使われてる三角分割アルゴリズムが単純な形状しか想定してないようです
なので Linuxでも変わらないかと思います
ただし、代わりに自力で三角分割して .zc add triangles 〜 で座標列を渡せば穴開きでもなんでもいけます
とにかく領域を三角形で埋め尽くす、非連結な領域間も潰れた三角形で橋渡しすればOKです

package require Tkzinc
package require zincGraphics
pack [zinc .zc -width 600 -height 600 -render 1 \
-highlightthickness 0 -backcolor white -lightangle 50]

set n 64
set coords {}; foreach xc {150 450} {
for {set i 0} {$i <= $n} {incr i} {
set a [expr 3.141592*2/$n*$i]
lappend coords [list [expr $xc+150*sin($a)] [expr 300-300*cos($a)]] \
[list [expr $xc+ 50*sin($a)] [expr 300- 100*cos($a)]] \
}
if {$xc == 150} {
lappend coords {150 0} {150 0} {450 0}
}
}
set clip [.zc add triangles 1 $coords -visible 0]
.zc itemconf 1 -clip $clip

https://i.imgur.com/8c5PxP5.png

やりたかった xeyesモドキが出来ました
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.042s