PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV Mobile 2024 → Image local dans un champ HTML
Image local dans un champ HTML
Débuté par SCH, 21 juin 2018 11:39 - 6 réponses
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 21 juin 2018 - 11:39
Bonjour,

J'ai du avoir recourt au champ HTML pour pouvoir faire une rotation à mon image (dRotation déformait mon image au fur et à mesure des rotations) via du CSS etc

Tout marche avec une image que j'ai mit sur un serveur FTP donc:
<img src="http://site.com/monimage.png"/>

Mais j'aimerais le faire via une image déjà localisé dans mon projet et permettre à mon application d'être utilisé hors-ligne.
C'est ici qu'intervient mon problème: je n'arrive pas à trouver le chemin pour accéder à mon image:

J'ai essayé: <img src="/data/user/com.masociete.test/res/drawable/test.png"/>
Et ça marche pas..
J'ai essayé <img src="res/drawable/test.png"/>
Marche pas non plus..

J'ai aussi constaté que le nom changeait: test.png -> test_2.png (par exemple)
Du coup j'ai re-tester les solutions en haut et ça marche pas non plus..

J'ai mit mes images dans les fichiers du projet et spécifié le dossier "drawable", via une application j'ai pu vérifié que les images y sont bien répertoriées

Des idées?
Merci d'aider :merci:
Membre enregistré
309 messages
Popularité : +31 (37 votes)
Posté le 21 juin 2018 - 16:19
Bonjour,
Essayez de toujours stocker les images dans un sous-dossier de frepdonnees() et d'utiliser la syntaxe file://

<img src="file:///data/user/com.masociete.test/res/drawable/test.png"/>

Bon dev
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 23 juin 2018 - 17:55
Bonjour merci de l'aide,

J'ai testé plusieurs possibilités avec "file://" mais toujours rien:

<img src="file:///data/user/com.masociete.test/res/drawable/test.png"/>
<img src="file:///res/drawable/test.png"/>
<img src="file:///data/user/0/com.masociete.test/res/drawable/test.png"/>
etc

En ce qui concerne frepdonnees(), ça m'indique "data/user/0/com.masociete.test/databases"
Mais je vois pas comment préciser l'endroit pour que mes images s'y situe?
Et surtout je ne trouve pas ce dossier dans mon application...
J'ai quand même essayé (sans résultat):

<img src="file:///data/user/0/com.masociete.test/databases/test_15.png" />
<img src="file:///data/user/0/com.masociete.test/databases/test_5.png" />
<img src="file:///databases/test_7.png" />


Le seul moyen que j'ai trouvé pour spécifier des fichiers locaux c'est ici:





Mais je ne peux que spécifier des sous-dossier au dossier "res" de ce que j'ai pu voir.
(les 3 dernieres images sont celles que j'aimerais cibler via l'HTML et ses balises <img/>)
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 30 juin 2018 - 17:17
Ça m'embête vraiment, sans ça mon application serait totalement utilisable hors-ligne...
J'arrive pas à accéder à mes images localement via le champ HTML, pourtant j'en ai besoin pour faire une rotation (dRotation rends mon image floue et vraiment pas belle).

A l'aide :o
Posté le 17 octobre 2018 - 15:09
BufImage is Buffer = fLoadBuffer("test.png")
sImage is string = Encode(BufImage,encodeBASE64)
sHtml is string=("<html><body><img src='data:image/png;base64,"+sImage+"' style=""width:16px;height:16px"" /></body></html>")
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 17 octobre 2018 - 16:03
Merci j'essaierai ton code ! :merci:
Membre enregistré
29 messages
Popularité : +1 (1 vote)
Posté le 18 octobre 2018 - 12:16
J'ai testé et ça marche, voici le code pour ceux que ça intéresse, dans mon exemple:
Initialisation de la fenêtre (qui contient un champ HTML avec l'HTML vide)
BufImage1 is Buffer = fLoadBuffer("test1.png")
sImage1 est une chaîne = Encode(BufImage1,encodeBASE64)
BufImage2 is Buffer = fLoadBuffer("test2.png")
sImage2 est une chaîne = Encode(BufImage2,encodeBASE64)
BufImage3 is Buffer = fLoadBuffer("test3.png")
sImage3 est une chaîne = Encode(BufImage3,encodeBASE64)

sHtml est une chaîne
sHtml = [
<html>

<head>
<style>/* css */</style>
</head>

<body>

<img src='data:image/png;base64,%1' />
<img src='data:image/png;base64,%2' />
<img src='data:image/png;base64,%3' />

</body>

</html>

]

sHtml = ChaîneConstruit(sHtml, sImage1 ,sImage2, sImage3)

HTM_SansNom1 = sHtml


Et dans la génération Android au niveau de l'intégration des fichiers:






Merci à Samir pour l'aide et à zervarn pour la solution :merci: