CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

(c++)Comment faire pivoter un bmp

lag-it
lag-it
Niveau 10
29 avril 2004 à 00:11:03

Jette un oeil sur le tuto de prografix car il evitent la console, mais au prix d´un projet pas très propre.
L´idéal reste Devcpp et ses devpaks je pense :)

JeanYvesYves
JeanYvesYves
Niveau 10
29 avril 2004 à 00:12:47

j´irai voir ça demain :)

LGV
LGV
Niveau 28
29 avril 2004 à 01:32:27

dsl, pour la SDL j´étais à côté avec mes ignore specific lib ; j´utilise pas cette lib, mais dans beaucoup de projets libc(d) et mscvrt(d) font ch**r... bref :D

sinon pour le coup de la console... hmmm... en win32 on peut associer une console à un processus ( pratique par exemple pour faire des sorties textuelles immédiates sans passer par OutputDebugString), donc il a p-e moyen de faire l´inverse : une fois le processus créé, il y a p-e moyen de se débarasser de la console :-? Bon, j´en sais trop rien cela dit, mais il me semble que c´est un peu comme que sont réalisés les services nt ( maintenant le C# permet de le faire " facilement" mais sauf erreur de ma part, à l´ancienne, on fait une appli normale et on se débarasse en cours de route de toute la partie interface utilisateur). Tout cela est tres hypothétique mais si la console est un vrai probleme, c´est p-e une piste à creuser...

inconnu[pure]
inconnu[pure]
Niveau 6
29 avril 2004 à 08:03:45

J´ai une petite question.
Est ce que on peut introduire du code SDL pour et les melanger avec du code graphique windows et LGV peut tu continuer ton expliquation sur les matrices

JeanYvesYves
JeanYvesYves
Niveau 10
29 avril 2004 à 08:11:12

mélanger du code SDL et du code api win, a priri ce n´est pas conseillé, ça ne marche pas pareil, au niveau de la création de la fenetre graphique d´une part ( l´un te dmeande de faire un projet API win, l´autre console win), ni au niveau de la structure de gestion de surface d´autre part.

Cependant, ayant les sources de SDL, rien ne t´empeche de piquer a droite a gauche.
Tu pourrais charger une image en tant que SDL_Surface*, utiliser les opérations de rotation dessus, puis la convertir en format WinAPI, que je ne connais que trop peu.

Ruffi pose de temps en temps des questions sur MFC il me semble, donc il touche un peu a la prog Win Api, peut etre en sait il +.

Pour les matrices, tu veux la formule mathématique ?

inconnu[pure]
inconnu[pure]
Niveau 6
29 avril 2004 à 08:18:10

" mélanger du code SDL et du code api win, a priri ce n´est pas conseillé, ça ne marche pas pareil, au niveau de la création de la fenetre graphique d´une part ( l´un te dmeande de faire un projet API win, l´autre console win), ni au niveau de la structure de gestion de surface d´autre part.

Cependant, ayant les sources de SDL, rien ne t´empeche de piquer a droite a gauche.
Tu pourrais charger une image en tant que SDL_Surface*, utiliser les opérations de rotation dessus, puis la convertir en format WinAPI, que je ne connais que trop peu.

Ruffi pose de temps en temps des questions sur MFC il me semble, donc il touche un peu a la prog Win Api, peut etre en sait il +. "
d :) Ok

" Pour les matrices, tu veux la formule mathématique ? "
d:)Non plus haut il y avait lgv qui m´expliquer des chose sur les matrices j´ai pas tres bien compris

i_am_the_law
i_am_the_law
Niveau 6
29 avril 2004 à 11:26:38

Pour ne plus avoir la console avec sdl c´est pas tres complique, il suffit de la detruire.
Tu appelles FreeConsole() au debut de ton programme.
Pour ca faut inclure windows.h

JeanYvesYves
JeanYvesYves
Niveau 10
29 avril 2004 à 11:44:02

i_am_the_law > excellent ! :)

LGV
LGV
Niveau 28
29 avril 2004 à 18:16:13

inconnu : bah, si t´es pas familier, tu dois pas avoir de code sous la main pour gérer des matrices, donc pas la peine de te compliquer la tâche pour rien ( surtout pour une rotation...)

le point important dans ce que je disais c´est d´appliquer la transformation inverse à l´image d´arrivée plutôt que la transformation direct à l´image de départ.

X = ( x y)^t ( vecteur colonne)
X´ = ( x´ y´)^t

transfo. direct : X´ = R x X
ça revient à dire, je prends chaque pixel de mon image, je le rotate. Mais avec les erreur d´arrondi ( les coordonnées de pixels étant entieres), ça va te laisser des trous dans ton image. On est aussi obligé de clipper sans quoi on risque de tracer en dehors de l´écran

transfo.inverse : R^-1 x X´ = X
là on fait le contraire : pour chaque pixel de l´image d´arrivée, on regarde son antécédent dans l´image de départ. Du coup, plus possible qu´il y ait de trou. Et comme on ne parcours que la surface de l´image finale, on n´a pas a clipper.

Ensuite, tu verras qu´en faisant ça, la rotation est plutot " moche" et pixelisée... L´idée est dont d´effectuer qq opérations en plus.
quant tu fais :
R^-1 x X´ tu obtiens X~ de coordonnées flottantes, qu´on arrondit pour trouver X entier, pixel " antécédent". Ben en filtrant en bilinéaire, tu conserves X~ et tu fais une relation barycentrique faisant intervenir les 4 pixels voisins pour determiner la couleur du pixel rotaté. On peut aussi filtrer sur un voisinnage plus grand, à coup de spline et de gaussienne, ou alors supersampler l´image de départ, y´a plein de moyens différents.

Commence par la rotation, on reviendra sur le filtrage plus tard qi t´as des soucis.
Un exemple de ce que tu veux faire ( C/OpenPTC) :

http://netabarons.chez.tiscali.fr/downloads/oldschool.ace

( le rotozoom, ´tention c´est du fixed point)

lag-it
lag-it
Niveau 10
29 avril 2004 à 22:17:51

Ah oui merci i_am_the_law :)

dnob700
dnob700
Niveau 10
29 avril 2004 à 23:15:50

Sinon, pour votre problème de console, il y a une autre méthode encore plus simple :

depuis el ocde de la console, c´est très facile de récuperer son hwnd.

alors un petit :
ShowWindow ( ConsoleHWND,SW_HIDE);

et on en parle plus. Mais la console existe toujours, donc du code peut être exécuté dessus --> la facilité de débogage est conservée.

inconnu[pure]
inconnu[pure]
Niveau 6
30 avril 2004 à 15:56:10

merci LGV tu pourrais stp faire un code ou on pivote un bitmapavec commentaire merci

LGV
LGV
Niveau 28
30 avril 2004 à 16:07:55

ben regarde dans le lien que je donne 3 posts avant, y´a exactement ce que tu cherches, un(e ? ) rotozoom, donc rotation entre autre, plus zoom parceque sinon ça ne serait pas un(e ? ) rotozoom LOOOOL :D

inconnu[pure]
inconnu[pure]
Niveau 6
30 avril 2004 à 16:11:07

ok j´ai vu mais ou telecharger le add-on pour avoir rotozoom

LGV
LGV
Niveau 28
30 avril 2004 à 16:24:46

les " addons" ? . .. j´ai pas du tout saisir :/
y´a tout dans l´archive en théorie, le code du rotozoom, la lib openPTC, les headers, l´image utilisée et ça compile ; y´a meme le binaire, donc c´est *autonome*

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Programmation
  • Création de sites web
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware
La vidéo du moment