Delphi6 - Images HTML

toto93350 Messages postés 9 Date d'inscription dimanche 7 juin 2009 Statut Membre Dernière intervention 1 mai 2011 - 10 juil. 2009 à 13:19
toto93350 Messages postés 9 Date d'inscription dimanche 7 juin 2009 Statut Membre Derniè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.

3 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
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.
0
toto93350 Messages postés 9 Date d'inscription dimanche 7 juin 2009 Statut Membre Derniè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.

Bonne nuit et merci ...
0
toto93350 Messages postés 9 Date d'inscription dimanche 7 juin 2009 Statut Membre Derniè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)

Voilà et merci beaucoup pour votre aide.
0
Rejoignez-nous