µLua DS - Forum officiel | Official forum Forum Index

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister   ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

Image : transformations
Goto page: 1, 2, 3, 4  >
 
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Report de bugs
Previous topic :: Next topic  
Author Message
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Sat 24 Jan 2009 - 22:43    Post subject: Image : transformations Reply with quote

Salut,

En fait, je ne sais pas s'il s'agit de bugs ou de comportements voulus, mais il me semble que le les transformations sur un objet Image ne sont pas toujours cohérentes.

Je m'explique:

La première opération pour utiliser une Image, c'est bien entendu Image.load(). Jusque là tout va bien.

Ensuite, on peut appliquer des fonctions sur cette image, comme rotate, scale, ou encore setTint (qui donne à l'image un ton général vert, jaune, rouge, bleu etc. selon les paramètres). C'est là que je ne comprends plus tout:

1) si j'applique un setTint() sur mon image dès le départ, ok, à chaque fois que je l'affiche, elle aura la couleur modifiée par le setTint. Jusque là, je trouve ça logique.
2) si j'applique un rotate() (ou rotateDegree), j'ai déjà quelques problèmes:
  a) si je demande la taille de l'image après rotation, elle est erronée. Par exemple, une image de 16x32, après rotation de 90°, fait 32x16, mais les fonctions width() et height() retournent toujours 16 et 32. On dirait que toute image renvoie toujours sa taille au moment du load(), pas sa taille réelle courante (après transformation).
  b) l'image, après rotation, est complètement décalée lorsqu'on la "blitte". Par exemple, après ma rotation de 90°, si j'affiche mon image à la position 0,0, elle n'apparait pas, car elle est complètement décalée à gauche, en dehors de l'écran.
  c) pas un problème, mais utile pour la suite: tout comme en 1), si j'applique une rotation à mon image en début de programme, à chaque fois que je l'affiche après, comme par exemple dans la boucle d'affichage principale, l'image apparait avec la rotation appliquée au départ (ça me semble logique, aussi)

3) le plus bizarre provient de l'utilisation de scale():
  a) comme avec rotate(), la taille rapportée par l'image n'a pas changé, même si on a doublé sa taille avec scale(). Ca me faire dire que c'est peut-être voulu, l'image rapporte toujours sa taille au chargement ?
  b) par contre ici, contrairement au 2)a), l'image est bien affichée à la position demandée lors d'un blit(), elle n'est jamais décalée
  c) ici, gasp, je pense qu"il y a un problème. Contrairement au rotate(), qu'on peut se permettre une seule fois au début du programme et qui reste appliqué jusqu'à la fin, le scale() n'est pas maintenu:  si on "scale" une image en début de programme, elle s'affiche à sa taille originale dans chaque itération de la boucle d'affichage ,donc il faudrait refaire un scale sur l'image dans la boucle, à chaque fois

Voilà, je ne sais pas si tous les comportements sont connus ou voulus, mais ça m'a un peu empêché de comprendre comment tout ça fonctionne...


Back to top
Publicité






PostPosted: Sat 24 Jan 2009 - 22:43    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
killer01


Offline

Joined: 04 Oct 2008
Posts: 545

PostPosted: Sun 25 Jan 2009 - 10:47    Post subject: Image : transformations Reply with quote

moi aussi j'ai rencontrer beaucoup de problème avec les images, je pense qu'il faudrait complètement changer la lib et corriger les bugs avec la RAM et le chargement , déchargement...

Back to top
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Sun 25 Jan 2009 - 13:19    Post subject: Image : transformations Reply with quote

J'aurais plutôt tendance à être d'accord, j'ai aussi rencontré quelques soucis avec les images.. mais je n'ai pas cerné le problème.. (comme c'était sur mon premier projet, je n'ai pas mis en cause µlua).
j'utilisais la rotation des images et j'envoyais des images d'une variable à une autre : image1 = image2..
il faudra que je reessaye pour faire un rapport d'erreur plus precis.
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Back to top
Visit poster’s website MSN
[TheDarkTiger]


Offline

Joined: 25 Oct 2008
Posts: 264

PostPosted: Sun 25 Jan 2009 - 19:30    Post subject: Image : transformations Reply with quote

ha perso j'ai pas eu de problèmes ...

Back to top
killer01


Offline

Joined: 04 Oct 2008
Posts: 545

PostPosted: Mon 26 Jan 2009 - 23:26    Post subject: Image : transformations Reply with quote

bah si, tu as pas eu des problème avec ta démo darktiger? des images qui faisait buguer?

Back to top
[TheDarkTiger]


Offline

Joined: 25 Oct 2008
Posts: 264

PostPosted: Tue 27 Jan 2009 - 02:19    Post subject: Image : transformations Reply with quote

quand j'ai écris le message, j'en avais pas eu .
maintenant, j'en ai un:
 quand je redimensionne mon image (scale) cette transformation est perd dès que je blite un morceau de l'image et non l'image entière...


Back to top
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Tue 27 Jan 2009 - 09:44    Post subject: Image : transformations Reply with quote

Tiens, c'est marrant, dans le cas du scale(), moi c'est dès que je blitte l'image (même entière) que les dimensions du scale sont "perdues" (en fait on dirait que c'est voulu). Donc il faut redonner les dimensions voulues avant chaque blit.

Par contre, je viens seulement de me rendre compte que mirrorH() et mirrorV() étaient absolument sans effet, je les avais pas encore testées. J'ai essayé avec plusieurs images différentes, mais l'effet miroir n'est jamais appliqué, l'image apparaît telle qu'elle a été chargée.


Back to top
killer01


Offline

Joined: 04 Oct 2008
Posts: 545

PostPosted: Tue 27 Jan 2009 - 16:12    Post subject: Image : transformations Reply with quote

la lib est imcomplète + buguée,  et sans risike on peux rien faire...

Back to top
thermo_nono
Modérateur

Offline

Joined: 31 Dec 2008
Posts: 2,415
Localisation: La Géhenne

PostPosted: Tue 27 Jan 2009 - 16:18    Post subject: Image : transformations Reply with quote

Neutral    ...    Sad    ...   Crying or Very sad
_________________
“Qui reçoit une idée de moi reçoit de la connaissance sans diminuer la mienne, comme celui qui allume sa chandelle à la mienne reçoit la lumière sans me plonger dans l’obscurité.” - Thomas Jefferson


Back to top
Visit poster’s website MSN
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Tue 27 Jan 2009 - 16:23    Post subject: Image : transformations Reply with quote

Pour le scale() c'est pas trop grave quand on a compris comment il fonctionne, mais je voulais savoir, chez vous, les fonctions mirror() ne font jamais rien non plus?
Ou alors ça dépend de l'image etc. ?


Back to top
killer01


Offline

Joined: 04 Oct 2008
Posts: 545

PostPosted: Tue 27 Jan 2009 - 21:01    Post subject: Image : transformations Reply with quote

non sa marche pas le mirror^^

Back to top
[TheDarkTiger]


Offline

Joined: 25 Oct 2008
Posts: 264

PostPosted: Wed 28 Jan 2009 - 19:45    Post subject: Image : transformations Reply with quote

Ced-le-pingouin wrote:

Pour le scale() c'est pas trop grave quand on a compris comment il fonctionne, mais je voulais savoir, chez vous, les fonctions mirror() ne font jamais rien non plus?
Ou alors ça dépend de l'image etc. ?
c'est l'inverse ...
on peut faire un miroir des image avec les fonctions qui marchent, mais pas de scale ...


Back to top
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Wed 28 Jan 2009 - 21:14    Post subject: Image : transformations Reply with quote

Argh, je comprends plus rien. Chez moi, le scale() fonctionne, même si la taille est réinitialisée après chaque blit().
Par contre, quelle que soit la façon dont j'essaie, mirrorV() et mirrorH() ne changent l'aspect d'aucune image...


Back to top
[TheDarkTiger]


Offline

Joined: 25 Oct 2008
Posts: 264

PostPosted: Thu 29 Jan 2009 - 00:39    Post subject: Image : transformations Reply with quote

j'ai compris un truc.

ne bliter qu'une partie de l'image annule le scale.

Image.scale(64,32)
screen.blit(SCREEN, X, Y, IMAGE)

marche, mais


Image.scale(64,32)
screen.blit(SCREEN, X, Y, IMAGE, 0, 0)

ne marche pas...


Back to top
Ced-le-pingouin


Offline

Joined: 16 Jan 2009
Posts: 559
Localisation: Belgique

PostPosted: Thu 29 Jan 2009 - 09:35    Post subject: Image : transformations Reply with quote

Ah, ok, je vais essayer ce soir sur la vraie DS. Vu que mon projet est de reproduire le comportement de Microlua sous Lua Windows/Linux, faut que je reproduise même les bugs  Wink

Back to top
Display posts from previous:   
Post new topic   Reply to topic    µLua DS - Forum officiel | Official forum Forum Index -> Section française -> Report de bugs All times are GMT + 1 Hour
Goto page: 1, 2, 3, 4  >
Page 1 of 4

 
Jump to:  

Index | Create a forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group