.
bonjour a tous !
voila j'expose ma question :
sur une frame 1600x1200 donc destinee a de grandes resolutions deja,
1920x1200 et 1600x1200, je pose une photo en 1050 pixels de hauteur.
Attention, c'est de la haute definition, donc pas simplement une image genre wallpaper mais reellement une photo !
j'y met un code derrreire, la photo se redimensionnera selon la taille de la fenetre et gardera sa proportion du genre :
la hauteur de la photo sera tant de la hauteur de la fenetre,
et la largeur de la photo sera tant toujours de la hauteur de la fenetre.
Ainsi la photo garde le meme rapport, et se redimensionne.
la photo au depart est donc en grand format et tout ca est destine non pas a des resolutions plus grandes mais plus petites genre 1024x768.
Mais voila, la photo est degradee, meme avec une reso 1920x1200 et 4 barres d'outils du navigateur, en effet un effet de lignes brisees qu'on appelle aliasing ou crenelage se produit, sans parler de zones plus pixelees, donc avec des degrades pixels moins fins.
Existe il une solution flash pour palier a cela ou cela est il redibitoire ?
Je connais deja une solution mentionnee sur le net, qui est de faire reconnaitre la resolution du visiteur et selon cette reconnaissance diriger le chargement des photos en fonction. Mais cela veut dire qu'il faut prevoir a l'avance plusieurs fichiers pour chaque photo dans des tailles differentes, ce qui resulte d'un travail epouvantablement lourd, presque ingerable pour moi dans le cas de plusieurs dizaines de galeries composees chacune de plusieurs dizaines de photos.....
Donc si vous avez des pistes, elles sont les beinvenues d'autant plus que c'est urgent !
Merci !
Autre point :
je mets un code de redimensionnement sur la scene de mon swf qui contient notamment un clip container par rapport a la fenetre, mais pas de code pour le container.
Ensuite je mets un code de redimenssionnement sur la scene de mon swf qui contient la photo, et qui va etre appele dans le container.
est ce deja une bonne methode et si non peut elle influer sur la degradation image lors du redimensionnement ou faut il faire autrement ?
J'ai oublie de preciser :
je charge les photos directement dans le flash donc je ne passe pas par un objet dynamique. J'ai deja essaye le lissage mais ca n'empeche pas la degradation de la photo vraiment. Il existe cependant bien une degradation, attention, la encore nous parlons de photos en haute definition, donc pour des yeux avertis comme les photographes professionnels. Sur le screen suivant, le degradation constatee est terrifiante, pour certains
clients cela ne passent pas du tout, mais alors pas du tout !
En revanche, il existe bien forcement une methode !
J'en veux pour preuve ce lien :
http://www.fabian-guignard.ch/new.htm
Autre indication, si j'ai une photo et que je la diminue dans un logiciel adapte de gestion image comme photoshop, en diminuant la photo on voit tres nettement la degradation (aliasing sur les cheveux).
Si je mets la fenetre du navigateur affichant ce lien et la redimensionne a la meme taille que cette dite photo, cote a cote on voit tres nettement que le redimensionnement de ce site ne degrade en rien la photo (pareil, controle sur le haut du crane, cheveux non creneles).
screen pour voir la degradation, visionner ce fichier en taille reelle
Donc il existe bien forcement une methode ou un script, la preuve certains sites arrivent a gerer le redimensionnement sans degradation....
(j'ai d'autres liens d'exemples mais bon un seul ca suffit je pense...).
J'avais pense a la fonction high_quality mais cela ne donne rien....
J'ai oublie de preciser que actuellement mon redimensionnement subit le meme probleme que un redimensionnement de photo dans un logiciel adapte comme photoshop. Peu etre aussi que tout simplement je m'y prend mal d'une point de vue construction flash, vu que je suis a ce niveau la quand meme faut bien dire une banane !
JE reprecise quand meme ma facon de faire, des fois que j'aurai tout faux ! :
j'ai un swf.
dedans, des clips donc un clip qui contient les boutons. (une bande de petites photos en fait)
en dessous un autre clip appele container ou va etre charge le swf qui contient la photo.
(en dessous car il doit passer en dessous des thumbnails)
Sur chaque bouton, je met le code suivant (claissque je crois) :
(parent parent a cause bien sur de l'arborescence)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 on (release){ _parent._parent.container.loadMovie ("grandephoto.swf"); }
Sur ce swf, des scripts de redimensionnement et repositionnement sur la scene pour chaque clips mais aucun script
pour le container (peu etre est ce un tort, je devrais le mette la, je suis entrain de faire les tests..).
Ensuite sur le swf appele qui contient la photo, un script de redimensionnement, peu etre aussi
que la j'a tout faux cependant la photo est tres bien redimensionnee e repositionnne, de ce cote la tout fonctinne tres bien, mais le redimensionnement etant peu etre ultrasensible, peu etre qu'il existe une consequence que j'ignore :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 function Dimensionne_fond () { //fond._align = "TL"; fond._width = Stage.width; fond._height = Stage.height; //fond._x = Stage.width/1600; //fond._y = Stage.height/1200; fond._x = 0; fond._y = 0; } function Redimension_Photo () { //Photo._align = "TL"; Photo._width = Stage.height*1.201666; Photo._height = Stage.height/1.142857; Photo._x = Stage.width/48.4848; Photo._y = Stage.height/36.3636; } onSelfEvent (load) { Redimension_Photo() Stage.align = "TL"; Stage.scaleMode = "noScale"; var sizeListener = new Object(); sizeListener.onResize = function() { Dimensionne_fond(); Redimension_Photo(); }; Stage.addListener(sizeListener); Dimensionne_fond(); } onFrame (2) { Redimension_Photo(); } onFrame (10) { stop(); }
ma scene est en 1600x1200.
tous les swf font la meme taille (la c'est sur je me suis pas fait chier, mais bon vu mon faible niveau en code, j'ai interet)
pour garantir le redimensionnement j'ai mis la fonction en frame 2, si je la met en frame 1, le redimensionnement ne se produit pas.
voila...
.
Partager