darkanlegrand
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 5 mai 2006
-
3 mai 2006 à 20:35
Ayine
Messages postés4Date d'inscriptionmardi 13 février 2007StatutMembreDernière intervention 1 décembre 2008
-
14 févr. 2007 à 12:21
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Ayine
Messages postés4Date d'inscriptionmardi 13 février 2007StatutMembreDernière intervention 1 décembre 2008 14 févr. 2007 à 12:21
ça bien marché bravo
CADRATURE
Messages postés25Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention13 juin 2009 19 nov. 2006 à 16:51
SUPER
rigado56
Messages postés5Date d'inscriptionsamedi 18 janvier 2003StatutMembreDernière intervention 6 juillet 2006 7 mai 2006 à 19:58
chapeau !
cs_LogOff
Messages postés69Date d'inscriptiondimanche 6 octobre 2002StatutMembreDernière intervention14 juillet 2009 5 mai 2006 à 14:33
Très bon code; bravo!
(la scrollbar est accessoire, le principal est le code du zoom)
darkanlegrand
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 5 mai 2006 5 mai 2006 à 07:28
hello, c'est décidé je vais utiliser la classe de gestion d'image de DARKSIDIOUS. Mais par manque de temps, boulot..., je ne pourrai avant la semaine prochaine...
BourgineVB, pour changer la valeur de scroll, fait le dans les propriétés du controle ZoomBar.Max = xxx.
Squallou, non ce n'est pas un pb de ta part, je l'ai eu aussi. Mais cela vient du controle. Comme le dit Bourgine, je crois que le mieu est de le remplacer un Slider. J'avais mis c'est OCX vraiment juste pour le Fun... il faudra assurement le retravailler!
Merci à tous de votre participation.
@+
cs_Squallou
Messages postés249Date d'inscriptionmardi 5 août 2003StatutMembreDernière intervention15 juillet 2006 4 mai 2006 à 19:29
Salut. Un petit bug ou pb de ma part je sais pas : quand je clique sur la flèche à droite du zoom ça augmente pas le zoom de 1 à chaque fois. Des fois ça revient de 2 ou 3 en arrière. :/
Sinon franchement tu gères. C'est tout simplement super. Encore un grand bravo *clap clap clap*
BourgineVB
Messages postés1Date d'inscriptionmardi 5 avril 2005StatutMembreDernière intervention 4 mai 2006 4 mai 2006 à 18:04
Bonjour,
J'ai vu ton code et je le trouve génial et bien documenté. C'est exactement ce dont j'ai besoin. En fait je voudrais numériser (des points ou des lignes) sur une image de fond en zoomant ou déplaçant l'image. Il ne me reste plus qu'à ajouter le code pour gérer la numérisation.
Il n'y a que le code de ton ocx qui est un peu du chinois pour moi, vu que je ne suis pas expert en VB. Question: comment faire pour que le niveau max du zoom soit plus que 300. Y a-t-il moyen de le paramétrer ?
Je pense que je vais le remplacer par un scroll bar classique
Merci
BB
darkanlegrand
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 5 mai 2006 4 mai 2006 à 07:41
Merci Dark je n'en attendais pas moins de ta part. Je t'avouerai que j'ai bien penser à utiliser ta classe! Je vais mis mettre de ce pas ;-)
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 3 mai 2006 à 21:02
Alors voici mon commentaire ;)
Tu aurais pu faire plus optimisé, bien que là, même avec des grandes images, c'est déjà pas trop mal.
En fait, tu aurais pu ne pas utiliser le contrôle image en passant par un stdPicture, un peu moins gourmand en mémoire, ou encore mieux : stocker uniquement les bits de ton image (par ma classe de gestion d'image par exemple... ;)), puis faire un StretchDIBits, ce qui serait bien plus rapide à afficher je pense, et surtout, ca prendrais moins de mémoire).
De même pour ton paintpicture : remplace le soit par un StretchBlt (qui est plus efficace pour de grandes images), soit par un StretchDIBits une fois de plus, dont tu stockera qu'une seule fois le tableau de bits.
De même, évite autant que possible les autoredraws, ils sont gourmants en mémoire, et sont assez lent par rapport à un retraçage de l'image "à la main" lorsque c'est nécessaire (là encore, un SetDIBits améliorerait les performances).
Sinon, beaucoup de commentaire, source assez simple à comprendre.
Quelques petites remarques sur l'interface :
Menu ouvrir sous ? Pourquoi le "sous" ?
Tu ne gère pas le redimensionnement de la fenêtre, alors autant désactiver cette fonctionnalité.
Tu laisse la possibilité à l'utilisateur d'ouvrir n'importe quel type de fichier, ca aurait été plus judicieux de n'ouvrir que des images (bien que tu gère l'erreur).
Voilà, pour ce qui serait surpris par mes remarques sur la rapidité, j'ai posté tout cela à la demande de darkan d'avoir mon avis sur la rapidité de sa source.
DarK Sidious
darkanlegrand
Messages postés11Date d'inscriptionmardi 9 septembre 2003StatutMembreDernière intervention 5 mai 2006 3 mai 2006 à 20:35
Le code est TRES commenté afin de faciliter la lecture.
Il y a un "Bug" connu (et géré): AUTOREDRAW ERREUR 480, qui se produit lorsque l'on dessine avec la méthode PaintPicture une image assez lourd. chez moi cela se produit avec une image 8 bits 2420 x 2420 Pixels. Donc si qlq'un à une idée... bien venu.
J'utilise les Picture Box car en fait, dans une autre partie du soft en cour, je veux dessiner dessus en ajoutant des calques, ajouter des objets pré-conçu ect...
J'aimerais assez travailler sur la partie optimisation de cette source, car je suis un newbie du dévellopement, et mais connaisances ne sont pas très étendus...
14 févr. 2007 à 12:21
19 nov. 2006 à 16:51
7 mai 2006 à 19:58
5 mai 2006 à 14:33
(la scrollbar est accessoire, le principal est le code du zoom)
5 mai 2006 à 07:28
BourgineVB, pour changer la valeur de scroll, fait le dans les propriétés du controle ZoomBar.Max = xxx.
Squallou, non ce n'est pas un pb de ta part, je l'ai eu aussi. Mais cela vient du controle. Comme le dit Bourgine, je crois que le mieu est de le remplacer un Slider. J'avais mis c'est OCX vraiment juste pour le Fun... il faudra assurement le retravailler!
Merci à tous de votre participation.
@+
4 mai 2006 à 19:29
Sinon franchement tu gères. C'est tout simplement super. Encore un grand bravo *clap clap clap*
4 mai 2006 à 18:04
J'ai vu ton code et je le trouve génial et bien documenté. C'est exactement ce dont j'ai besoin. En fait je voudrais numériser (des points ou des lignes) sur une image de fond en zoomant ou déplaçant l'image. Il ne me reste plus qu'à ajouter le code pour gérer la numérisation.
Il n'y a que le code de ton ocx qui est un peu du chinois pour moi, vu que je ne suis pas expert en VB. Question: comment faire pour que le niveau max du zoom soit plus que 300. Y a-t-il moyen de le paramétrer ?
Je pense que je vais le remplacer par un scroll bar classique
Merci
BB
4 mai 2006 à 07:41
3 mai 2006 à 21:02
Tu aurais pu faire plus optimisé, bien que là, même avec des grandes images, c'est déjà pas trop mal.
En fait, tu aurais pu ne pas utiliser le contrôle image en passant par un stdPicture, un peu moins gourmand en mémoire, ou encore mieux : stocker uniquement les bits de ton image (par ma classe de gestion d'image par exemple... ;)), puis faire un StretchDIBits, ce qui serait bien plus rapide à afficher je pense, et surtout, ca prendrais moins de mémoire).
De même pour ton paintpicture : remplace le soit par un StretchBlt (qui est plus efficace pour de grandes images), soit par un StretchDIBits une fois de plus, dont tu stockera qu'une seule fois le tableau de bits.
De même, évite autant que possible les autoredraws, ils sont gourmants en mémoire, et sont assez lent par rapport à un retraçage de l'image "à la main" lorsque c'est nécessaire (là encore, un SetDIBits améliorerait les performances).
Sinon, beaucoup de commentaire, source assez simple à comprendre.
Quelques petites remarques sur l'interface :
Menu ouvrir sous ? Pourquoi le "sous" ?
Tu ne gère pas le redimensionnement de la fenêtre, alors autant désactiver cette fonctionnalité.
Tu laisse la possibilité à l'utilisateur d'ouvrir n'importe quel type de fichier, ca aurait été plus judicieux de n'ouvrir que des images (bien que tu gère l'erreur).
Voilà, pour ce qui serait surpris par mes remarques sur la rapidité, j'ai posté tout cela à la demande de darkan d'avoir mon avis sur la rapidité de sa source.
DarK Sidious
3 mai 2006 à 20:35
Il y a un "Bug" connu (et géré): AUTOREDRAW ERREUR 480, qui se produit lorsque l'on dessine avec la méthode PaintPicture une image assez lourd. chez moi cela se produit avec une image 8 bits 2420 x 2420 Pixels. Donc si qlq'un à une idée... bien venu.
J'utilise les Picture Box car en fait, dans une autre partie du soft en cour, je veux dessiner dessus en ajoutant des calques, ajouter des objets pré-conçu ect...
J'aimerais assez travailler sur la partie optimisation de cette source, car je suis un newbie du dévellopement, et mais connaisances ne sont pas très étendus...
Merci.