Mettre une image en backgroud

Signaler
Messages postés
9
Date d'inscription
mardi 7 septembre 2010
Statut
Membre
Dernière intervention
25 janvier 2011
-
Messages postés
14935
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 janvier 2021
-
Comment placer une image en background en mode console(Language C)?

20 réponses

Messages postés
14935
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 janvier 2021
93
Hello,
Tu ne peux pas mettre de background dans la fenêtre de la console...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...

En postant déjà dans le bon forum
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

Tu ne peux pas mettre de background dans la fenêtre de la console...

Si si c'est possible :


Après ça dépends de la console utilisée, entre xterm, gnome-terminal, konsole etc c'est à chaque fois une histoire différente.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Bonjour,

Pour une question C, merci de poster sur cppfrance dans un thème C.

Un minimum de politesse (Bonjour...) est aussi requis.

[ Déplacé sur cppfrance.com ]
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Salut,
La capture que tu montres TychoBrahe n'est pas une fenêtre console. Il s'agit bien d'une fenêtre GUI normale qui contient une zone imitant une console dont le fond est une image. Je pense que buno a raison.
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Salut,

La capture que tu montres TychoBrahe n'est pas une fenêtre console.

Non c'est bien une console, la mienne en l'occurrence (j'ai mis une image de fond juste pour l'occasion).
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Sous Windows, une fenêtre console n'a que la barre de titre et le cadre. Elle n'a ni barre de menu ni autres contrôles. Les autres dont tu parles n'ont de console que le nom car en fait ce sont des fenêtres GUI imitant la console. C'est normal qu'elle offrent plus de possibilités qu'une console normale. C'est quoi la console de l'image? Et comment tu fais en C pour lui mettre une image de fond?
HyperTerminal sous Windows est une console sous forme de fenêtre GUI.
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Sous Windows

Je ne suis pas sous windows et je n'ai rien vu dans ce sujet qui indiquai les spécificités de ce système.

une fenêtre console n'a que la barre de titre et le cadre. Elle n'a ni barre de menu ni autres contrôles. Les autres dont tu parles n'ont de console que le nom car en fait ce sont des fenêtres GUI imitant la console.

Tu as tort sur deux points :
1. Le terme "console" désigne plusieurs choses, ça va du vieux terminal en tant qu'entitié matérielle (par exemple un VT100) jusqu'au tty en passant par l'émulateur de terminal (qui n'est rien d'autre qu'un logiciel ouvrant un nouveau tty).
2. Même en considérant uniquement la fameuse console en dehors d'une "émulation logicielle", il est tout de même possible de lui mettre une image. N'as-tu jamais vu des bootloaders graphiques par exemple ? Le noyau n'étant pas encore chargé, je te vois mal pouvoir continuer un argumentaire sur des fenêtres graphiques "simulant" des consoles (qu'elles sont en réalité). Nos écrans actuels sont bien plus performants que ceux des VT100, est-ce si dur à concevoir que l'on puisse avoir une image de fond ?
Parce que j'ai la flemme de récupérer mon joli grub graphique Debian, je te met ici quelques screenshots trouvés sur le net de ces consoles graphiques :
> un grub graphique aux couleurs d'archlinux
> un autre arborant celles d'ubuntu
> et un dernier personnalisé

Et comment tu fais en C pour lui mettre une image de fond?

Tout dépends de ce que l'on appelle par console.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Il me semble que tu n'as pas bien compris la question de départ. Son auteur précise "mode console en C". Donc mode console en comparaison avec le mode GUI. Il est évident ici qu'il s'agit bien de la fenêtre au fond noir permettant, par exemple, de visualiser les chaines données comme paramètres à la fonction printf(). C'est valable pour Windows et Linux. C'est donc cette console qu'il veut utiliser en lui mettant une image de fond. Toute autre console est à exclure. Et c'est de cette console que je parle donc je n'ai pas du tout tort dans tout ce que j'avais dit. Je sais bien ce que tu veux dire en parlant des consoles car je les connais. Moi aussi je peux coder ma propre console et lui donner tous les attributs que je veux (images de fond, dessins etc). Je peux même céer mon propre petit OS boutant sur un CD avec comme écran d'accueil une console DOS ayant une image de fond. Bien sûr que c'est faisable tout cela mais ce n'est pas là du tout le but de l'auteur de la question.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Et pour revenir à ma dernière question, comment tu fais en C pour mettre une image de fond à la console représentée par ta première capture? Puisque, comme tu le dis, c'est ta console et pas une autre donc comment tu fais?
Messages postés
14935
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 janvier 2021
93
Il semblerait qu'un peu plus de précisions de la part de l'auteur soit les bienvenues


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Il me semble que tu n'as pas bien compris la question de départ. Son auteur précise "mode console en C".

Non, c'est toi qui n'as pas bien compris. Relis mon premeir post, je répondai à buno qui disai, je cite, que l'on "ne peux pas mettre de background dans la fenêtre de la console". Dans la mesure où je répondai à son affirmation erronnée je ne vois pas en quoi la question de base (qui semble manquer de précision) entre en jeu. Ta remarque est d'autant plus erronée qu'ici on parle bien de "fenètre console", donc bien de l'émulateur de terminal dans un environement graphique fenêtré.

Il est évident ici qu'il s'agit bien de la fenêtre au fond noir permettant, par exemple, de visualiser les chaines données comme paramètres à la fonction printf().

Double faute. Visiblement tu n'as toujours pas compris que, même en dehors de tout système de fenètre, une console (et de la manière dont tu l'entends là) n'as pas forcément un fond noir. Que ce soit par une simple couleur de fond ou par une image c'est possible, le sobre et traditionnel fond noir n'est là que pour la lisibilité et participer au folklore.
D'autre part, printf() n'a rien à faire là dedant, visiblement tu vois mal comment elle fonctionne. printf() écrit une chaîne formatée sur le flux correspondant à la sortie standard, rien de plus. Un simple close(STDOUT_FILENO); mis avant ton printf() et tu ne visualisera rien du tout sur ta console. A ce sujet, ce simple close suivi d'un open d'un autre fichier (ou bien l'utilisation dup2 pour ne pas avoir à faire le open juste après le close) et soudainement ce fichier ouvert devient ta sortie standard. Dur dur, printf() se retrouvera à écrire dans un fichier, que ce soit un fichier régulier, un pipe, un socket ou autre.

Je peux même céer mon propre petit OS boutant sur un CD avec comme écran d'accueil une console DOS ayant une image de fond.

Visiblement tu dit ceci à cause de mon allusion à Grub que tu semble ne pas connaitre. Ce n'est pas un mini système d'exploitation, c'est un programme permettant de charger un système d'exploitation. A ce niveau là tu n'as aucun OS, aucun environnement fenêtré ni rien, juste un bonne vielle console. ET bien qu'en général cette console se présente sous la forme d'un fond noir avec une police blanche (parfois avec de la vidéo inverse), il est possible de la personaliser (cf screens que j'ai mis).

Et pour revenir à ma dernière question, comment tu fais en C pour mettre une image de fond à la console représentée par ta première capture? Puisque, comme tu le dis, c'est ta console et pas une autre donc comment tu fais?

Comme je l'ai déjà dit, ça dépends de la console virtuelle utilisée. Là j'utilise gnome-terminal et j'ai la flemme d'aller lire la doc pour savoir comment ça se configure. Je présume cependant que ça soit se résumer à l'édition de fichiers de configuration.
Messages postés
14935
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 janvier 2021
93
Hum...ouais, bon. Une guerre de clocher n'amènera rien ici. Vous avez tous les 2 des compétences indéniables mais vous ne parlez pas forcément de la même chose...

Je suis désolé que ma réponse, mal formulée semble-t-il, ait permis cet enchainement de propos. Je pensais, bien évidemment, à l'invite de commande sous Windows...

On clôture cet échange?


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
TychoBrahe >> Tu n'as pas besoin d'étaler tous ces détails à propos de printf() et le fond noir. Tout ça on le connait. Je parle du comportement par défaut de printf() et de la couleur de fond par défaut juste pour préciser le type de console dont parle l'auteur de la question. Je suis sûr et certain d'avoir bien compris la question et buno aussi car c'est évident. Il parait que tu es un expert des consoles mais ici il s'agit de "la console" que tout le monde connait sur le site. J'ai déjà utilisé GRUB et les autres et je disais que je pouvais faire tout cela juste pour te confirmer que tout cela est possible même avant le chargement d'un système d'exploitation. Tout ce qui se charge au boot d'un système peut être assimilé à un petit OS minimal qui ne fait qu'afficher une console par exemple ou un menu. Rien à voir avec un véritable OS. Ici c'est un forum de programmation en C/C++ et pas autre chose. J'espère que maintenant tout est clair.
Bonne Journée.
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Je parle du comportement par défaut de printf()

Parce que printf() à un comportement qui change ? Diable, personne ne m'avai prévenu ! Non, je parlai également du comportement par défaut de printf(), agir sur les descripteurs de fichiers ou les buffers associés n'influe en rien sur le comportement de printf lui même qui garde le même comportement. M'enfin tout ça tu le sais déjà hein, c'était juste une autre approximation pour aller plus vite n'est-ce pas ?

Je suis sûr et certain d'avoir bien compris la question et buno aussi car c'est évident.

"la" question ? Celle dont la réponse est 42 ? Si tu crois encore que j'ai répondu au premier post de ce sujet posant une question alors tu es navrant : je t'ai déjà expliqué que ce n'a jamais été à celle là que je répondais...

il s'agit de "la console"

Toi qui en connais tant sur les consoles, aurait-tu oublié son nom ? Pourquoi ne pas nommer clairement ce à quoi tu fais référence lorsque, comme nous l'avons déjà vu, le terme console porte à confusion ? A te lire on croirai à une entité mystique indescriptible usant de magie.

Tout ça on le connait

que tout le monde connait

Visiblement tout le monde connaît tout sur tout, il n'y a plus qu'a fermer le site vu que plus personne n'a besoin d'apprendre quoi que ce soit.

Ici c'est un forum de programmation en C/C++ et pas autre chose

Libre à toi de diviser le sujet afin d'en créer un nouveau destiné aux consoles dans la bonne section, c'est toi le modérateur. Soit dit en passant, le fil ayant été déplacé durant la conversation, ton argument est un peu bancal... on a pas commencé dans un forum de programmation en C/C++.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Mais pourquoi tout cet entêtement? Tu as bien compris ce que je voulais dire depuis le début alors pourquoi tu cherches des détails juste pour trouver quoi critiquer? Pour moi printf() est une antiquité que je n'utilise plus depuis presque vingt ans. J'ai donc certainement oublié certaines subtilités de son utilisation. Je l'ai mentionnée juste pour préciser le type de console.
C'est vrai qu'au départ la question à été postée par erreur sur un autre forum mais elle était claire et nette ce qui a facilité son déplacement ici. Il s'agit bien du mode console en C. La réponse de buno a été aussi claire et me semble juste. Alors qu'en lisant ta première intervention on s'aperçoit que tu n'as pas compris la question de départ et par conséquent pas la réponse de buno qui te semble erronée. Je voulais intervenir juste pour te le signaler sans en débattre plus. Mais il me semble que tu n'aimes pas ou tu n'as pas l'habitude d'être contrarié ce qui expliquerait ton entêtement.
"Le mode console" fait partie des notions de base que tous les membres de cppfrance connaissent. Si ce n'est pas ton cas ou tu n'as pas bien lu la question de départ ce n'est pas grave. Je ne prétends pas tout savoir car j'apprends tous les jours ce qui me fait aimer la programmation et la vie en général.
Messages postés
3874
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
7 novembre 2014
13
Genre on peut pas faire de jolis dessins dans une invite de commande windows... Interruption BIOS 10h, ça vous dit quelque chose ? Ou peut être avez vous entendu parler du graphics.h ? Franchement un dev qui connait pas graphics.h est un dev de supermarché lol. C'est au programme de toutes les vraies écoles d'info. Nan mais vous devez pas connaître, z'êtes trop jeunots, moi je compilais mes noyaux quand vous jouiez au billes.

Et puis alors le coup de modifier la config de la console, ça c'est du propre, y a de quoi être fier. Terminfo c'est pas fait pour les chiens. Si c'est dans terminfo tu fais et si ça y est pas, tu fais pas. Point.

[quote=TychoBrahe]printf() écrit une chaîne formatée sur le flux correspondant à la sortie standard, rien de plus. Un simple close(STDOUT_FILENO); mis avant ton printf() et tu ne visualisera rien du tout sur ta console. A ce sujet, ce simple close suivi d'un open d'un autre fichier (ou bien l'utilisation dup2 pour ne pas avoir à faire le open juste après le close) et soudainement ce fichier ouvert devient ta sortie standard./quote

Mais lol, t'es trop imprécis gars. T'as oublié de dire que printf utilisait write. Et puis alors tu aurais quand même pu dire que ça marche pas du tout comme ça sous Windows et nous faire une tirade sur SetStdHandle.

==

rilou007, il parle de la console de CS. Vous aviez pas devinez ? C'était pourtant facile, CS, c'est Counter Strike, un jeu vidéo qui a une console. Mais bon de toute façon, la console de CS ou une autre, ça marche pareil.

==

En espérant que vous m'excuserez ces caricatures à la truelle et qu'elles vous aides à prendre du recul sur vos comportements respectifs.
Messages postés
1309
Date d'inscription
samedi 31 janvier 2009
Statut
Membre
Dernière intervention
5 juin 2013
12
Mais pourquoi tout cet entêtement?

Ta première réponse dans ce sujet a été pour tout de suite me contredire avec fracas et sous entendant que j'ai posté une capture d'écran trafiquée, et après tu es étonné que je défende mes dires contre tes contradictions successives qui se perdirent dans une longue dérive ?

Alors qu'en lisant ta première intervention on s'aperçoit que tu n'as pas compris la question de départ

La première question ayant plusieurs interprétations différentes toutes probables, personne ne peux prétendre la comprendre sans informations complémentaires de la part de l'auteur. Juste à titre d'exemple, que penses-tu ce cette formulation là que je te propose :
"Comment changer l'image du fond d'écran de mon bureau en utilisant un programme réalisé en C sans interface graphique ?"
C'est une interprétation possible parmi d'autres.

et par conséquent pas la réponse de buno qui te semble erronée.

Je trouve l'affirmation "Tu ne peux pas mettre de background dans la fenêtre de la console... " très explicite. Pour toi que peux donc être "la fenêtre de la console" sinon la fenêtre présentant une console que l'on appelel un terminal virtuel, une console virtuelle ou encore un émulateur de terminal ? J'ai posté une prise d'écran de ma "fenêtre de console" avec une image de fond afin d'infirmer le fait qu'il soit impossible de lui en mettre une, qu'as-tu à redire là dessus ?

En espérant que vous m'excuserez ces caricatures à la truelle et qu'elles vous aides à prendre du recul sur vos comportements respectifs.

Je te remercie même pour ces caricatures, je reconnais m'être un peu emporté et je m'en excuse.
Messages postés
1910
Date d'inscription
vendredi 18 juin 2004
Statut
Modérateur
Dernière intervention
14 novembre 2014
13
Ah, enfin tu avoues pourquoi tu t'acharnes tant contre moi. Je suis vraiment désolé que tu aies pris mes propos avec ce ton là. C'est le problème connu de la communication textuelle. Rassure-toi, je n'avais pas du tout l'intention de te contrarier ni de t'offusquer. Je voulais juste te faire remarquer que ta première intervention n'a rien à voir avec la question posée. Tout le monde peut se tromper. Ca m'arrive à moi aussi et je remercie vite celui qui me signale mon erreur. Je ne t'ai pas du tout accusé d'avoir trafiqué la capture. Au contraire, je t'ai même confirmé que ça existe et qu'on peut faire ce genre de consoles. Mais que ce n'est pas la console dont parle l'auteur de la question. Je ne retire rien de tout ce que j'ai dit car la question était claire et nette et ne souffre d'aucune ambiguité. Elle n'a qu'une seule et unique interprétation. S'il s'agissait du bureau l'auteur l'aurait précisé c'est plus facile. Dans mes propos il n'y a aucune contradiction mais c'est toi qui essaie de les fabriquer juste pour contre-attaquer. Maintenant je comprends pourquoi et j'en suis vraiment désolé. Mon but était juste de clarifier les choses sans aucune intention d'attaquer qui que ce soit. Je ne l'ai d'ailleurs jamais fait sur ce site dont l'objectif est de s'entraider et non s'engueuler.
Sans rancune.
Messages postés
14935
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
18 janvier 2021
93
et pendant ce temps, à Vera Cruz, rilou007 est parti voir ailleurs...


@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...