Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1955 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [CSS] Canevas - Réticule

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[CSS] Canevas - Réticule

n°2490397
fredo3
Posté le 22-01-2025 à 11:34:14  profilanswer
 

Salut

 

J'aurais besoin de dessiner un réticule au-dessus d'un iframe.
Or bizarrement malgré le fait que le css indique une épaisseur de trait de 1 pixel, et bien à l'écran ca en a nettement plus.
Même le trait verticale semble plus fin que l'autre. Alors que le paramètre d'épaisseur est identique.

 

Autre bizarrerie, pour centrer les traits bien au milieu et bien je ne peux pas utiliser le milieu de mon canvas en px, au lieu de ca je dois commencer à 74 respectivement 150.
Je précise que le canvas fait.

Code :
  1. canvas {
  2.             position: relative;
  3.             width: 640px;
  4.             height: 480px;
  5.         }
 
Code :
  1. const canvas = document.querySelector('#frame');
  2.         const ctx = canvas.getContext('2d');
  3.         ctx.strokeStyle = "red";
  4.         ctx.lineWidth = 1;
  5.         ctx.beginPath();
  6.         ctx.setLineDash([1, 1]);
  7.         ctx.moveTo(0,74);
  8.         ctx.lineTo(640,74);
  9.         ctx.moveTo(150,0);
  10.         ctx.lineTo(150,480);
  11.         ctx.stroke();
 

https://rehost.diberie.com/Picture/Get/f/344175
(png l'image, ce n'est pas la compression jpeg qui fait ca)

 

Bref, vous auriez une explication à cette bizarrerie.

 

Merci


Message édité par fredo3 le 22-01-2025 à 13:35:33
mood
Publicité
Posté le 22-01-2025 à 11:34:14  profilanswer
 

n°2490404
FlorentG
Posté le 22-01-2025 à 13:08:19  profilanswer
 

Tu as spécifié les dimensions du canevas dans ton CSS. Mais il y a là une subtilité : cela va donner la dimension finale d'affichage de l'élément, mais pas la résolution intrinsèque du canevas, qui va rester par défaut en 300×150. Ainsi ça va rendre une image de 300×150 étirée vers 640×480, et donner cet aspect. D'où aussi le centrage à ~150 & ~75.

 

Il te faut donc mettre les dimensions sur le tag :

Code :
  1. <canvas width="640" height="480">


Message édité par FlorentG le 22-01-2025 à 13:11:44
n°2490407
fredo3
Posté le 22-01-2025 à 13:32:17  profilanswer
 

Ah ça marche en effet.
 
Merci beaucoup :jap:

n°2490451
fredo3
Posté le 22-01-2025 à 16:12:58  profilanswer
 

Encore moi  
 
Comment on fait pour changer la transparence des traits???
 
J'ai bien utilisé la commande globalAlpha = 0.5, mais elle ne semble s'appliquer qu'au text  :heink:  
https://rehost.diberie.com/Picture/Get/f/344277

n°2490457
mechkurt
Posté le 22-01-2025 à 16:27:50  profilanswer
 

Tu peux mettre des couleurs rgba dans ton stroke style

Code :
  1. ctx.strokeStyle = 'rgba(255,0,0,0.5)';


=> rouge 100% / alpha 50%


---------------
D3
n°2490466
fredo3
Posté le 22-01-2025 à 17:15:44  profilanswer
 

Maintenant c'est le texte que j'arrive pas à mettre en alpha 1  [:tinostar]

 

Pourtant je suis bien repassé à 100% avant d'écrire le texte.

Code :
  1. ctx.strokeStyle = "rgba(44, 53, 120, 100%)";
  2. ...
  3. ctx.fillText(degree+"°",center_x+pos-3,center_y+main_bar_height-30);
 

https://rehost.diberie.com/Picture/Get/f/344295

 


C'est quoi que cette diablerie?  [:tinostar]


Message édité par fredo3 le 22-01-2025 à 17:16:43
n°2490467
rat de com​bat
attention rongeur méchant!
Posté le 22-01-2025 à 17:17:00  profilanswer
 

Au pif: Faut mettre une valeur entre 0 et 1 et pas des %?? :??:


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°2490468
fredo3
Posté le 22-01-2025 à 17:17:30  profilanswer
 

Non ca fait pareil

n°2490470
rat de com​bat
attention rongeur méchant!
Posté le 22-01-2025 à 17:20:15  profilanswer
 

C'est du HTML/CSS, c'est de la diablerie, comme tu dis. :o


---------------
Ne laissez pas mourir vos sujets en cours de route!
n°2490475
fredo3
Posté le 22-01-2025 à 17:28:39  profilanswer
 

La commande:
 
ctx.stroke();
 
Suffit de la faire une seule fois à la fin après avoir tracé toutes les lignes n'est-ce pas?

mood
Publicité
Posté le 22-01-2025 à 17:28:39  profilanswer
 

n°2490477
fredo3
Posté le 22-01-2025 à 17:39:30  profilanswer
 

C'est bon, ça marche.

 

J'avais pas compris qu'avant de changer les couleurs il fallait que je fasse un:

 

ctx.beginPath();

 

https://rehost.diberie.com/Picture/Get/f/344301


Message édité par fredo3 le 22-01-2025 à 17:41:18

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  [CSS] Canevas - Réticule

 

Sujets relatifs
Animations au scroll 100% CSSTableau HTML avec effet d'ombre SANS CSS
Signature mail HTML/CSSSuperposer deux background ? [CSS]
Dimensionnement et placement CSSFaille de sécurité CSS
Divers - problème de formulaire HTML / CSS / JSorganisation CSS
[PHP] Problème stylesheet CSS indisponible sur une page (MODEL MVC)[CSS]Problème Mise en page
Plus de sujets relatifs à : [CSS] Canevas - Réticule


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)