Simuler un écran plus grand que la résolution max de son moniteur [Résolu]

Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 14 oct. 2010 à 22:39 - Dernière réponse :
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 28 oct. 2010 à 10:26
Delphinautes bonjour,

voilà, je suis un petit programmeur delphi du dimanche (j'ai d'abord commencé par le basic, VB, VBA, pascal puis Delphi 1,2, ...) et je ne travaille absolument pas dans l'informatique. Je suis un autodidacte comme on dit.

Cela va faire bientôt 2 ans que je n'ai pas programmé et j'aurais besoin de votre aide car je crois que je m'attaque à quelquechose qui me dépasse un peu.

En effet, je voudrais faire un programme qui simulerait auprès des autres applications que la résolution de l'écran est plus grande que la résolution max du Moniteur. Bien sûr le moniteur n'afficherait qu'une partie de l'image. Quel intérêt, me direz-vous ? Et bien, certains sites comme geoportail, viamichelin, google maps, affichent des images de cartes qui sont proportionnelles à la résolution de l'écran. Cela me permettrait donc de capturer des portions d'images de carte plus grandes avec les plug-in de firefox qui sauvent en image l'intégralité de la page web même si celle-ci n'est pas entièrement visible sur l'écran.
Au lieu d'assembler 4 captures écran, je simule un écran 4x plus grand et je capture l'image de cet écran simulé...

Il est vrai que nous devons être à la limite entre une appli et l'OS de windows. Peut être est ce impossible à réaliser sous delphi ?

Pourriez-vous m'éclairer ?

Un grand merci à tous par avance
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
3982
Date d'inscription
mardi 8 mars 2005
Dernière intervention
7 novembre 2014
- 26 oct. 2010 à 08:46
3
Merci
Salut,

Arf, avec les messages de cette nuit, je suis moins sûr que ce source correspond à ton problème. En tout cas il a l'air de fonctionner plus ou moins pour googlemaps et geoportail (La carte affichée dans firefox est bien plus grande que la résolution).

Merci cs_rt15 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 86 internautes ce mois-ci

Commenter la réponse de cs_rt15
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 23 oct. 2010 à 15:07
0
Merci
le sujet semble plutôt ardu car je vois que ça ne se bouscule pas au portillon

merci aux plus courageux de me donner un petit tuyau pour bien démarrer...

Bien à vous
Commenter la réponse de bongenie
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 23 oct. 2010 à 21:55
0
Merci
Salut,

« Peut être est ce impossible à réaliser sous delphi ? »
Perso, j'ai jamais rien vu d'impossible sous Delphi...

Regarde ici.
Commenter la réponse de Caribensila
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 23 oct. 2010 à 22:40
0
Merci
Caribensila,

ton lien représente à peu près ce que je veux faire mais au lieu d'un Timage, il faudrait que j'ai une fenêtre d'Internet Explorer ou Firefox dont on ne verrait qu'une partie et dont la dimension pourrait dépasser la taille de l'écran.

Faut-il passer par les activeX ou objets COM ?

Cordialement
Commenter la réponse de bongenie
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 23 oct. 2010 à 23:59
0
Merci
A ma connaissance, une fenêtre (quelle qu'elle soit) plus grande que le Screen est impossible sous Windows.
Mais un des moyens d'explorer une image plus grande que le Screen est, entre autres, la méthode que je t'ai donnée.

Le mieux serait donc d'obtenir le Bitmap de l'image initiale, à la taille initiale, mais non fenêtré (le faire en mémoire).
Sinon peut-être se tourner vers la bonne vieille technique OLE. Tu peux faire des tests avec le compos TOLEContainer pour commencer et voir ce que ça donne.
Mais je n'ai jamais fait et je ne peux pas te dire si c'est la bonne voie.
Commenter la réponse de Caribensila
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 24 oct. 2010 à 00:12
0
Merci
Tu vois qu'il y a des choses impossibles avec windows !

J'étais conscient que je chatouillais plus les limites de l'OS que les capacités de Delphi.
Malgré tout, cela doit forcément être possible mais certainement avec une bidouille qui outrepasse les limitations windows des fenêtres à la taille du screen.

Je n'ai rien trouvé avec mes recherches sur google. A priori c'est effectivement pas si simple mon histoire. Pourtant ça devrait théoriquement pouvoir se faire ?

Au moins, je sais que ce n'est pas la peine que je m'excite sur ce truc et que je perde mon temps.

Merci
Commenter la réponse de bongenie
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 24 oct. 2010 à 03:06
0
Merci
D'abord, il ne faut pas confondre Delphi et Windows.

Deuxièmement, ton problème n'a rien à voir avec l'OS utilisé.

Troisièmement, tu baisses très vite les bras devant un petit problème.

Quatrièmement, afin de vérifier ma troisième assertion, j'ai tenté de télécharger un Bitmap plus grand que mon écran et de l'afficher.
Ca m'a pris 1/2 heure, sans problème particulier sinon celui de trouver un très grand Bitmap.

Cinquièmement, je te laisse chercher car c'est le meilleur moyen d'apprendre
Commenter la réponse de Caribensila
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 25 oct. 2010 à 23:42
0
Merci
Non,non, je ne baisse pas les bras. Je suis même du genre tenace même si il m'arrive de comprendre après qu'on m'ait expliqué longtemps ....

Mais, de deux chose l'une, soit je n'ai pas compris ta réponse, soit tu n'as pas compris ma question mais dans ce cas c'est que je me suis mal exprimé. De plus, j'ai annoncé la couleur que cela faisait plusieurs années que je n'ai plus programmé donc la reprise est un peu rude car on perd très vite.

Mon problème n'est pas de trouver un grand fichier image bmp ou jpg ou autre format d'ailleurs.
Mon problème n'est pas de savoir afficher ou pas une partie de la grande image en question.
Mon problème est de forcer IE ou Firefox à simuler une fenêtre plus grande que le screen pour que l'image affiché par certains sites comme google maps ou geoportail soit plus grande (car ces sites adaptent la taille de l'image envoyée selon la définition de l'écran donc de la capacité d'affichage du micro).
Si tu as un écran 640x480, le site envoi une image de fond de carte plus petit que si tu possèdes un écran 1024x768. En gros la taille du fichier image envoyé par le site n'est pas fixe et elle dépend de la résolution de l'écran (ou de la fenêtre je suppose).

Bref, avais tu compris ma question ?
Si oui, peux tu m'expliquer comment tu as fait ?
Je veux bien chercher mais j'ai déjà pas mal cherché sans succès donc si tu as une direction de recherche, un petit coup de pouce sans me donner toute la solution, je suis preneur.

SVP grand merci
Commenter la réponse de bongenie
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 26 oct. 2010 à 02:06
0
Merci
« un petit coup de pouce sans me donner toute la solution, je suis preneur »

Je te donnerais volontier la solution si je l'avais. Mais je ne l'ai pas.

Il me semble que tu prends mal le problème. Le site n'ajuste pas vraiment l'image envoyée à la résolution de ton écran. Et chaque site a sans doute des protocoles différents. Mais c'est de toute façon plus compliqué que tu as l'air de l'imaginer (ce n'est pas un problème de niveau en Delphi ou autre).

Prenons l'exemple de Géoportail. Ce site n'envoie, par exemple, que des images de taille 256x256 pixels à chacune des échelles choisie par l'utilisateur (c'est très visible avec les exemples du 2ème site donné ci-dessous). Et je pense que c'est le nombre de ces images qu'il faut gérer. Tu vois que la taille de l'écran ou de la fenêtre n'est pas vraiment crucial au niveau de l'acquisition des données.
Bref, tu as pris le problème par le mauvais bout. Tu devrais commencer par étudier les services proposés par le site qui t'intéresse.

En fait, pour te répondre, je n'ai consulté que deux sites au hasard :

1er site
2ème site

Je te conseille de commencer par là, mais avec le site qui t'intéresse.
La programmation n'est pas qu'affaire de niveau. C'est aussi affaire de connaissances du sujet abordé.
Ensuite, si tu as un problème d'affichage ou autre avec Delphi, je serai ravi de te donner un coup de main. Mais, pour le moment, je te souhaite bon courage et bonne chance pour ce projet prometteur.
Commenter la réponse de Caribensila
Messages postés
2684
Date d'inscription
jeudi 15 janvier 2004
Dernière intervention
26 juillet 2018
- 26 oct. 2010 à 16:23
0
Merci
@rt15
Eh bein... C'est pas du code de fillotte, ça !

Très intéressant et instructif (fonctionne très bien avec IE et n'importe quelle autre fenêtre aussi, au passage).
Windows ne limite donc pas obligatoirement la taille maxi des fenêtres. Mes vieilles superstitions sont battues en brèche. J'abjure et je me convertis sur le champ !

Cependant, bien que ta source réponde parfaitement à la question posée, je ne pense pas que ce soit la meilleure approche du problème posé.
Commenter la réponse de Caribensila
Messages postés
15
Date d'inscription
samedi 8 janvier 2005
Dernière intervention
28 octobre 2010
- 28 oct. 2010 à 10:26
0
Merci
@rt15 merci, double, triple merci.

je n'ai pas encore approfondi le source mais cela me semble très adapté à mon problème.

Par ailleurs, je ne connaissais pas le "subclassing", je vais donc pouvoir parfaire mes connaissances.

C'est bien ce que je pensais depuis le départ, je n'avais pas le niveau suffisant de connaissances pour traiter ce problème.

Bravo et encore merci
Commenter la réponse de bongenie

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.