toto93350
Messages postés9Date d'inscriptiondimanche 7 juin 2009StatutMembreDernière intervention 1 mai 2011
-
10 juil. 2009 à 13:19
toto93350
Messages postés9Date d'inscriptiondimanche 7 juin 2009StatutMembreDernière intervention 1 mai 2011
-
16 août 2009 à 23:58
Bonjour tout le monde
Je développe un programme sous Delphi 6 dans lequel je dois visionner des images HTML de dimensions variables. J'utilise le composant THTMLViewer. Certaines images débordent parfois de l'écran. J'utilise les ScrollBar mais à terme je souhaiterai que je les images se redimensionnent automatiquement pour être visibles dans leur intégralité sans utiliser les ScrollBar .
Mes nombreuses recherches effectuées sur le net et les forums restent vaines pour l'instant. J'ai essayé des codes avec les Screen.Width et Screen.Height, sans résultats. J'ai crée un nouveau composant avec HTMLViewer auquel j'ai rajouté la propriété AutoSize, sans résultat. J'ai aussi essayé avec les propriétés ChangeScale, ScaleBy, sans résultats également. En fait le cardre est redimensionné mais l'échelle des images reste inchagée et celles-ci sont tronquées.
Si quelqu'un peut m'aider et donner quelques pistes.
Merci d'avance.
cs_rt15
Messages postés3874Date d'inscriptionmardi 8 mars 2005StatutModérateurDernière intervention 7 novembre 201413 12 juil. 2009 à 18:13
Salut,
"images HTML"
Je vois pas trop ce que c'est. Le HTML c'est du code, pas une image.
Tu peux redimensionner une image, où l'afficher de manière redimensionnée.
Redimensionner le rendu du HTML (Lecture du code HTML pour en faire une représentation visuelle, avec du code, des images, des boutons...), c'est plus compliqué...
Mais peut être que ton viewer permet par exemple de modifier la taille de la police ou le HTML de manière à réduire la taille de la représentation.
toto93350
Messages postés9Date d'inscriptiondimanche 7 juin 2009StatutMembreDernière intervention 1 mai 2011 15 juil. 2009 à 01:50
Salut rt15 et merci pour ta réponse
En fait j'ai des images un peu "compliquées", j'essaierai d'être clair et concis.
En fait mes images sont composées de pictogrammes et de feuilles de style HTML. Ces images ont des dimensions variables (débordent parfois de l'écran) et peuvent être visionnées sur une page web (firefox, orange etc ...).
J'utilise pour mon programme le composant HTMLViewer et impossible (pour l'instant) de réduire les images.
toto93350
Messages postés9Date d'inscriptiondimanche 7 juin 2009StatutMembreDernière intervention 1 mai 2011 16 août 2009 à 23:58
J'ai essayé le StretchBlt mais sans succès.
J'ai trouvé une solution à mon problème (pb : récupérer la hauteur et la largeur des images dont la taille variable) :
- 1°)Je redimensionne mon HTMLViewer, je lui attribue des dimensions par défaut qui sont inférieures à la taille de mes images.
- 2°)Je récupère la taille des images grâce aux propriétés HScrollBar et VScrollBar.
Voici le code que j'ai utilisé:
function LargeurImage(VueHtml : THTMLViewer) : Integer;
Var Tempo1, Tempo2 : Integer;
Begin
Tempo1 := 0;
Tempo2 := 0;
Result := 0;
Repeat
Tempo1 := VueHtml.HScrollBarPosition;
//Faire avancer les ScrollBar ...
VueHtml.HScrollBarPosition :=
VueHtml.HScrollBarPosition + 1;
Tempo2 := VueHtml.HScrollBarPosition;
Inc(result);
//... jusqu'à la fin
until (tempo1 = tempo2);
Result := VueHtml.Width + Result;
End;
Pour récupérer l'image :
VueHtml.MakeBitMap(2,Screen.Width,LargeurImage, HauteurImage)