2008-11-15 3 views

Répondre

2
do you mean a rectangle with concave corners?, ie: 
    ____________________ 
    |     | 
    __|     |__ 
|       | 
|       | 
|       | 
|__      __| 
    |     | 
    |____________________| 

Étant donné un rectangle de dimension w x h avec un rayon d'angle r Il y a 4 coins:

A : 0,0 
B : w,0 
C : w,h 
D : 0,h 

Il y a une taille minimale implicite de

w = 2r 
h = 2r 

Il y a 4 centres Cercle, A,B,C,D

Et il y a donc une grille de points de bord:

(0,0)--(0+r,0)---(w-r,0)---(w,0) 
|        | 
(0,0+r)     (w,0+r) 
|        | 
|        | 
(0,h-r)     (w,h-r) 
|        | 
(0,h)--(0+r,h)---(w-r,h)---(w,h) 

alors son simple cas de calcul de l'arc d'un point à un autre.

3

Vous pouvez créer ceci par l'opération de chemin sous le mélange d'expression (opérations de menu - objet -> chemin) J'ai créé un chemin en soustrayant quatre ellipse contre un rectangle. Le Path.Data pour un rectangle concave est donné ci-dessous, @Kent Fredric logique dans la réponse précédente sera utile pour en implémenter un.

alt text http://img87.imageshack.us/img87/4539/concaverectny1.jpg

M17.200002,0L120.4,0 120.4,2.3066998E-06C120.4,6.7378696,128.10079,12.200001,137.60001,12.200001L137.60001,85.400003C128.10077,85.400003,120.4,90.862138,120.4,97.6L17.200002,97.6C17.200002,90.862151,9.4993697,85.400003,0,85.400003L0,12.199999C9.4993663,12.200015,17.200002,6.7378725,17.200002,0z 

Voir le blog ici http://jobijoy.blogspot.com/2008/11/concave-cornered-rectangle-blend-tip.html

Une autre façon d'y arriver est de créer une forme personnalisée WPF comme ci-dessous

public class ConcaveRectangle:System.Windows.Shapes.Shape 
+0

Merci, J'ai posé cette question sur un autre forum et j'ai obtenu la même solution en utilisant la fonction Path dans WPF. –

0

Je tiens à souligner que, si elle est concaves, les quatre côtés ne sont pas identiques et droits; ce n'est donc pas un rectangle. Mais je m'égare.

Questions connexes