Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

UTILISATION DE CANVAS.RECTANGLE/ROUNDRECT/ELLIPSE DANS LA LIMITE DÉFINIE PAR UN TRECT ...


Information sur la source



Description

Cliquez pour voir la capture en taille normale
Alors là, tout le monde se demande si j' ai pas besoin de vacances !!!
Il va nous apprendre à dessiner un Rectangle dans un canvas maintenant???
Alors oui, j' ai besoin de vacances et oui, je vais peux être vous apprendre à dessiner un rectangle :)

En fait, je pense que certains ont déjà compris où je veux en venir...
Imaginons que vous voulez dessiner un rectangle definissant la limite d' un de vos compo avec une épaissur de trait de 10 pixels.
La grosse erreur que l' on a tous fait une fois c' est d' écrire ceci:
MonCompo.Canvas.Pen.Color := clBlack;
MonCompo.Canvas.Pen.Width := 10;
MonCompo.Canvas.Brush.Color := clYellow;
MonCompo.Canvas.Rectangle(MonCompo.ClientRect);
Et alors? ça marche me direz-vous ...
Et bien l' effet n' est pas celui recherché: le trait n' a pas 10 pixels!
Comment ça se fait? et bien le problème est que le trait dessiné est centré sur le TRect passé en paramètre à la fonction Rectangle du canvas.
C' est pour cela que pour un trait de 1 pixel le problème n' apparait pas.

 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de MAURICIO le 12/09/2005 16:56:17

Je tiens à dire merci pour la note !!!
Laisser un 2/10 sans avoir commenté la note c' est pas sympa, ou peut être n' a t-il pas simplement essayer de rentrer dans le sujet.
Ça me décoit ...

signaler à un administrateur
Commentaire de DeltaFX le 23/04/2006 20:31:03

J'ai eu un pb similaire avec canvas.ellipse.


procedure DrawInnerEllipse(aCanvas: TCanvas; aRect: TRect);
begin
  if aCanvas.Pen.Width > 1 then
  aRect:=RECT(aRect.Left + aCanvas.Pen.Width div 2,
              aRect.Top + aCanvas.Pen.Width div 2,
              aRect.Right +1 -(aCanvas.Pen.Width-1) div 2,
              aRect.Bottom +1 -(aCanvas.Pen.Width-1) div 2);

  aCanvas.Ellipse(aRect);
end;

signaler à un administrateur
Commentaire de MAURICIO le 24/04/2006 10:07:46

Salut DeltaFX,
c' est exactement le même problème ...
A+

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Canvas.ellipse(Trect), résultat bizarre ? [ par DeltaFX ] Vala mon probl&#232;me du jour :j'ai un Trect, une form et son canvas, et l'envie de dessiner un cercle. Donc pouf, mon trect, j'en fais un carr&#233; Canvas qui s'effacent ! [ par flo160fr ] Bonjours,Je voudrai juste savoir s'il existai un moye nou eviter que les canvas s'éfacent :Par exemple, si je dessine un rectangle dan la propriété ca PB pour dessiner sur un Canvas je séche... [ par ffert ] Bonjour Voilà un des Bug les plus incompréhensible que j'ai rencontré.... : J'ai un Panel contenant un TImage. Le Panel est en "Visible := False" à l' comme je peux dessiner des flèches avec Delphi ? [ par MiniProgramer ] Salutcomme je peux dessiner des flèches avec Delphi ?avec Delphi je peut dessiner 4 oubien 5 chauses comme Rectangle, Ligne, ...Image1.Canvas.<span cl comment deplacer un rectangle dessiner sur une bitmap? [ par malsangn ] Je veut afficher un point sur une bitmap puis pouvoir le deplacer ou supprimer. Comment faire? copier le rectangle dessiner dans un bitmap [ par dieuchrist ] Hello tt le monde.G un petit probleme: j'aimerai copier l'intérieur d'un rectangle, dessiner sur le canvas de mon image, dans un bitmap. mais je sèche Pb Textout caché par Rectangle [ par Jean_Jean ] Bonjour,Je n'ai pas trouvé de réponse à ma question sur le site et la doc...J'ai donc recours à vos lumières...Je dessine Un fond sur le canevas direc Référence Canvas [ par Jean_Jean ] Bonjour,Je créé un composant dérivant de TgraphicControl qui dessine différentes formes dont je donne un extrait de l'une d'elle, plus bas. J'ai rendu SVP une explication sur TStringGrid [ par gebu34 ] Bonjour à tous,J'aimerais une explication sur la fonction OnDrawCell.Je pars sur le principe que DrawCell balaye toutes les cellules.Je pars par exemp courbe de bézier [ par TouTSpeed ] bonjour j'aimerais que quelqu'un m'aide à résoudre un soucis !voici mon code ( la form7 sert a afficher la courbe ! )procedure TForm1.ButGraphClick(Se


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,577 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.