1 pièce(s) jointe(s)
[Windows] Scintillement à la mise à jour d'un TImage
Bonjour,
un problème résolu, un autre problème le suit...
Sur le web ça parle de LockWindowUpdate mais c'est inconnu sous Lazarus alors ça part dans les bidouilles, et ça devient compliqué : je "borde" la màj de l'image avec le couple classique Begin/EndUpdate mais cette fois on dirait qu'ils sont fâchés, en plein divorce :
Code:
1 2 3
| img4result.Picture.Bitmap.BeginUpdate();
img4result.Picture.Assign(bmpDst); // mise à jour de l'image
img4result.Picture.Bitmap.EndUpdate(); |
car je chope la jolie image suivante :
Pièce jointe 313592
:koi:
J'ai aussi tenté
Code:
1 2 3
| img4result.Canvas.Lock;
img4result.Picture.Assign(bmpDst); // mise à jour de l'image
img4result.Canvas.UnLock; |
et je gagne la même image, y a que le texte qui change, canvas not locked quand je passe sur la 3e ligne.
Le mode pas-à-pas me fait découvrir un TryLock que j'utilise ainsi :
Code:
1 2 3
| img4result.Canvas.TryLock;
img4result.Picture.Assign(bmpDst); // mise à jour de l'image
// img4result.Canvas.UnLock; // commenté pour éviter l'erreur |
Pas d'erreur mais j'ai toujours mon scintillement à la mise à jour, à croire que le lock n'a pas fonctionné. Pourquoi ? Mystère...
Comment vous faites, vous, sous Windows ?
(puisque pour une fois je n'ai pas de souci sous Linux)
et je précise que j'ai DoubleBuffered := True dans le FormCreate.
Merci,