canvas resize - Delphi/Pascal - Programmation
Marsh Posté le 23-08-2002 à 14:52:38
c pas super clair tout ça...
t'as pas un exemple de ton code ?
Marsh Posté le 23-08-2002 à 16:06:42
je veux bien, mais ca donne pas le defaut du result, mais en voici un bout...
Code :
|
Voila, c'est pour dessiner une grille pour faire des courbes, la ya que les lignes horizontales. C'est peu t'etre ma facon d'effacer qui va pas, ou de recuperer la taille de l'image?
la j'ai mis stretch = true, si je le met à false, qd j'agrandit l'image qui a align = alclient, le dessin reste de la taille d'origine.
Donc si je resize et que je rapelle cette proc, l'image subit un zoom violent... bizare.
Ce que je veux, c'est que qd on rezise la fenetre, le trace soit redessiné pour gagné en precision.
Marsh Posté le 23-08-2002 à 18:13:44
hhf a écrit a écrit : je veux bien, mais ca donne pas le defaut du result, mais en voici un bout...
|
Rien compris...
C ptet que je rentre de vacances
Marsh Posté le 23-08-2002 à 20:08:18
je ne vois pas pourquoi tu t'occupes de stretch puisque tu dessines toi meme...donc laisse le à false, et branche toi plutot sur l'évenement OnResize du conteneur de ton TImage et là tu pourras placer la routine qui va tracer tes courbes en utilisant les bonnes dimensions
Marsh Posté le 23-08-2002 à 20:33:28
je suis bien d'accord avec toi, mais si je met stretch = false, lorsque j'agrandi l'image, le canvas n'est pas resizé, il reste de la mm taille, mais ma proc à bien detecté les nouvelle taille de l'image, donc on a l'impression qu'il y a un zoom de fait.
Marsh Posté le 23-08-2002 à 20:35:10
J'ai utilisé un TImage, pour pouvoir dessiner dedans via son TCanvas, mais ya peu t'etre plus logique pour faire du dessin??
Marsh Posté le 23-08-2002 à 20:45:05
tu peux utiliser directement un TBitmap que tu crés à la volée...
Marsh Posté le 23-08-2002 à 21:35:50
ben oui mais il n'y a pas que mon graph ds la form, alors un TBitmap ca pose prob, ya plus la proprieté align, je pourrais m'en passer si il y avais les proprieté top et left sur le TBitmap. Et je suis pas sur que ca resolve mon PB, car c'est ca le prob, le Timage est resizé, mais pas le canvas. Ou alors j'ai pas tous compris...
Merci de votre aide.
Marsh Posté le 23-08-2002 à 21:42:37
tu dessines dans le canvas du tbitmap que tu cré avec la taille de ton TImage puis tu l'assignes dans TImage.picture pour l'afficher (n'oublie pas de libérer le tbitmap)
Marsh Posté le 23-08-2002 à 21:45:31
c normal que lorsque le timage est redimmensionné la taille réelle du son contenu ne le soit pas...donc tu dois l'ajuster en conséquence
Marsh Posté le 23-08-2002 à 22:01:07
ben moi je veux bien, mais yas pas de Canvas.width ou Canvas.Height.... alors comment resizé le canvas en fct de la taille du Timage parent ?
Marsh Posté le 23-08-2002 à 22:05:06
tu donnes la taille à ton tbitmap...
mabitmap := TBitmap.create;
try
mabitmap.width := ...
...
mabitmap.canvas...
...
monimage.picture.assign(mabitmap);
finally
mabitmap.free;
end;
Marsh Posté le 23-08-2002 à 22:08:09
Oui effectivement ca doit marché merci, je try ca de suite.
Marsh Posté le 23-08-2002 à 22:13:52
Taureau a écrit a écrit : tu donnes la taille à ton tbitmap... mabitmap := TBitmap.create; try mabitmap.width := ... ... mabitmap.canvas... ... monimage.picture.assign(mabitmap); finally mabitmap.free; end; |
T en vacances ?
Marsh Posté le 23-08-2002 à 22:18:09
de rien hhf
poire non mais bon là je traine avant d'aller au lit
Marsh Posté le 23-08-2002 à 22:21:30
Taureau a écrit a écrit : de rien hhf poire non mais bon là je traine avant d'aller au lit |
Enfin bravo pour le courage
Tu mérites une médaille
Marsh Posté le 23-08-2002 à 22:23:47
mouais...mais juste en chocolat alors car c'était pas si terrible
Marsh Posté le 23-08-2002 à 22:25:36
Taureau a écrit a écrit : mouais...mais juste en chocolat alors car c'était pas si terrible |
Pour la patience
Marsh Posté le 23-08-2002 à 22:29:08
j'avais compris
mais bon vu mon "grand" nombre de post j'ai encore une forte dose de patience en moi
Marsh Posté le 23-08-2002 à 22:33:52
Taureau a écrit a écrit : j'avais compris mais bon vu mon "grand" nombre de post j'ai encore une forte dose de patience en moi |
Mais des posts tjs de qualités...
Il vaut mieux de la qualité que de la quantité comme dit le proverbe...
Marsh Posté le 23-08-2002 à 22:40:58
on va pas aller si loin sur la qualité de mes posts heins ?
merci pour le chocolat je me dépêche de le prendre avant qu'il ne fonde sous "la qualité" de mes posts passés
Marsh Posté le 23-08-2002 à 23:10:49
Taureau a écrit a écrit : on va pas aller si loin sur la qualité de mes posts heins ? merci pour le chocolat je me dépêche de le prendre avant qu'il ne fonde sous "la qualité" de mes posts passés |
Marsh Posté le 23-08-2002 à 14:48:19
Salut, j'ai un petit probleme avec le canvas de TImage, pas de prob pour dessiner dedans, j'use d'une proc "dessin" qui dessine en fonction de la taille du canvas, MonImage.Canvas.width et Height. Si l'option strech est à true quand je change la taille de l'image, le dessin est redimentionné, normal, mais se dernier est moins net, puisque le stretch fais une interpolation sur le dessin.
alors je veux forcer le trace du dessin. Qd je fais ca, l'image est redessinner bcp plus grde que l'image PKoi ?[img]