#1 

27-02-2010 22:40:10

nabouill
Membres
Avatar de nabouill
Date d'inscription:
Messages: 242
IP: 77.195.185.153
Courriel

Salut, je n'arrive pas à trouver si il est possible de redimensionner une image avec irrlicht.
J'utilise une image "IGUIImage " pour faire la lunette d'un fusille de sniper, ça marche bien sauf que je voudrait la redimensionner suivant la résolution utiliser.
Je ne trouve pas la méthode à utilisé pour ça. Quelqu'un aurait-il une idée ?
Merci

Hors ligne


#2 

28-02-2010 21:18:41

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 188.93.45.30
Courriel  Site web

escuse je fait ça de tête .. mais se doit ressembler a ceci :

rect<s32> pos(videoSize.Width,videoSize.Height,0,0);
ITexture *snipe = driver->getTexture("snipe.png");

pos.LowerRightCorner.Width -= snipe.getSize().Width/2;
pos.LowerRightCorner.Height -= snipe.getSize().Height/2;
pos.UpperLeftCorner = snipe.getSize();

IGUIImage  *picture = guienv->addImage(const core::rect<  s32  > &rectangle);
picture->setImage(snipe);
picture->setUseAlphaChannel(true);

Hors ligne


#3 

01-03-2010 15:58:56

nabouill
Membres
Avatar de nabouill
Date d'inscription:
Messages: 242
IP: 82.127.58.127
Courriel

ça marche pas, j'arrive a définir la taille que je veux avec
IGUIImage *picture = guienv->addImage(const core::rect< s32 > &rectangle);
mais il ne redimensionne pas l'image, il me charge l'image "snipe.png" dans sa taille original et ne m'affiche que la taille demander.
Je pense que ce qu'il faudrait, ce serait de redimensionner la texture, en gros:

Code c++ :


ITexture *snipe = driver->getTexture("snipe.png");
//redimensionner maintenant la texture je ne sais de quel façon
IGUIImage  *picture = guienv->addImage(core::rect<s32>(0 ,0, largeur_fenetre ,hauteur_fenetre));
picture->setImage(snipe);
picture->setUseAlphaChannel(true);


Enfin je pense, quelqu'un aurait une idée ?

Hors ligne


#4 

05-03-2010 11:45:46

Magun
Administrateurs
Avatar de Magun
Date d'inscription:
Messages: 910
IP: 194.254.28.41
Courriel  Site web

se n'est pas la bonne méthode mais si tu y tien il doit y avoir moyen en passant par IImage ...

IImage *tmp = createImageFromFile("sniper.png");
tmp->copyToScaling((void*)tmp,screenWidth,screenHeight);
ITexture *plop = driver->addTexture("sniper,tmp);

vite fait d'après la doc... ( d'ailleur tu devrai y jetter un coup d'oeil ... wink )

Hors ligne


#5 

05-03-2010 15:57:34

nabouill
Membres
Avatar de nabouill
Date d'inscription:
Messages: 242
IP: 82.127.58.127
Courriel

Merci de ta réponse,
pour la doc, j'ai toujours le nez dedans, mes là j'avoue que pour ce qui est des image, je ne pige pas tout sad
Quand je de la façon que tu viens de me montrer, il me met bien l'image, mais ne me redimensionne rien du tout sad
J'ai essayer plein plein de truc, rien ne marche sad

Ce que je voudrais pour résumé. Une IGUIImage de la taille de ma fenêtre, je connait déjà la taille de ma fenêtre car je stock les dimensions dans des attribues. Peut importe la façon utilisé, je pensait que ça allait être de la rigolade, mais la je coince vraiment.
Quelqu'un peut m'aider SVP

Hors ligne


Options Liens officiels Caractéristiques Statistiques Communauté
Préférences cookies
Corrections
irrlicht
irrklang
irredit
irrxml
Propulsé par Django
xhtml 1.0
css 2.1
884 membres
1440 sujets
11337 messages
Dernier membre inscrit: Saidov17
172 invités en ligne
membre en ligne: -
RSS Feed