Bonsoir,
Je suis en train de vivre des cauchemars et je perds des heures et des heures de ma vie à chercher des solutions à des erreurs de calcul qui n'en sont pas, en fait, et au final c'est un vrai enfer...
Sur l'image ci-dessous vous avez le résultat d'un TBitmap rempli par calcul et assigné à un TImage posé sur un TPanel (gris) et avec Image.Left := 1;
Bien sûr ce montage de deux copies d'écran est beaucoup zoomé pour bien voir les détails car, oui, des fois il me faut utiliser The Gimp pour voir où j'en suis tellement c'est confus et effroyable.
Mais il débloque, là, le Jipété ?
Nan nan, juste qu'il pète les plombs après avoir passé des heures à essayer de solutionner un bug qui, au final, n'existe pas !
Regardez bien l'image ci-dessous, et particulièrement la bande grise à gauche du début du dégradé : vue, la différence de taille entre la copie de gauche et celle de droite ? Un pixel d'écart.
Et cette différence est simplement liée à l'état de la transparence du TImage, False à gauche et True à droite dans l'inspecteur d'objets, c'est la seule modif entre les deux runs...
Et quand j'utilise un color picker sur le tout début du rouge, je mesure 255,0,0 à gauche, et 255,4,0 à droite, ce qui confirme bien que la première colonne du TBitmap a disparu (où ?) en activant la transparence du TImage.
Quand je pense que je l'avais activée justement pour voir si mes calculs tombaient juste (au départ le TImage était aligné alClient dans le TPanel à la bonne dimension, ce qui m'aurait permis de voir d'éventuelles erreurs...)
Bug présent sous Linux/GTK2 Laz1.4/FPC2.6.2 et Laz1.6/FPC3.0 mais pas sous XP/Laz1.6/FPC3.0
Linux est vraiment le parent pauvre, quoi..
Partager