AWTクリップとしてポリゴンを使用するもう1つの問題についてはsimilar answerです。おそらくこれはJ2MEでサポートされていますか?除外する矩形の境界と描画領域の外側境界を知る必要があります。 OP FROM
+-------------------+
| clip drawing area |
+---+-----------+ |
| | excluded | |
| | area | |
| +-----------+ |
| |
+-------------------+
EDIT。
この回答は私のために働いており、APIはJ2MEでサポートされています。もう1つの質問の答えには間違いが1つあります。囲まれたポリゴンを作成するには、外側の左上と内側の上の点を開始する必要があります。働いていた私の最終的なコードは次のとおりです。
をクリッピング形状を作成するために、私はこの方法を使用:私はグラフィックコンテキストに設定してから、私の矩形を満たし
static public Shape getOutsideEdge(Graphics gc, Rectangle bb, int top, int lft, int btm, int rgt) {
int ot=bb.y , it=(ot+top);
int ol=bb.x , il=(ol+lft);
int ob=(bb.y+bb.height), ib=(ob-btm);
int or=(bb.x+bb.width), ir=(or-rgt);
return new Polygon(
new int[]{ ol, ol, or, or, ol, ol, il, ir, ir, il, il },
new int[]{ it, ot, ot, ob, ob, it, it, it, ib, ib, it },
11
);
}
:
Rectangle tmp=new Rectangle(px,py,pw,ph);
gc.setClip(getOutsideEdge(gc,tmp,thickness,thickness,thickness,thickness));
gc.fillRoundRect(px,py,pw,ph,RADIUS,RADIUS);
をし、私は各コーナーに1つのドットを塗りつぶして角を丸くした錯覚を作りました:
gc.setClip(px,py,pw,ph);
gc.drawLine((px +thickness ),(py +thickness ),(px +thickness ),(py +thickness ));
gc.drawLine((px+pw-thickness-1),(py +thickness ),(px+pw-thickness-1),(py +thickness ));
gc.drawLine((px +thickness ),(py+ph-thickness-1),(px +thickness ),(py+ph-thickness-1));
gc.drawLine((px+pw-thickness-1),(py+ph-thickness-1),(px+pw-thickness-1),(py+ph-thickness-1));
Do not kこれはなぜ "objective-c"タグを持っていたのですか? –
@Quinn:訂正してくれてありがとう - タグフィールドに "* J2ME"と入力しましたが、タグフィールドから編集概要にタブを押すとタグと私は気付かなかった!私はタグフィールドのタブの動作が非常に迷惑な/直感的な直感的であることがわかります。 –