Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1718 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  génerer une image

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

génerer une image

n°274139
Library
Posté le 20-12-2002 à 21:38:45  profilanswer
 

bonjour
 
j'aimerais créer une image (n'importe quel format, enfin un truc qui prenne pas max de place sur le DD qd meme) dans un programme en C. L'image que je veux créer sera définie pixel par pixel (pas besoin d'outils avancés).
 
Que faut il utiliser pour ca ?
 
j'ai entenu parler d'une library, mais je me rappelle plus le nom et j'ai pas trouvé sur google.
 
merci d'avance

mood
Publicité
Posté le 20-12-2002 à 21:38:45  profilanswer
 

n°274141
kadreg
profil: Utilisateur
Posté le 20-12-2002 à 21:40:56  profilanswer
 

GD ?


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°274142
Library
Posté le 20-12-2002 à 21:42:55  profilanswer
 

elle est installée de base cette library ou faut l'installer ?

n°274146
kadreg
profil: Utilisateur
Posté le 20-12-2002 à 21:46:31  profilanswer
 

Library a écrit :

elle est installée de base cette library ou faut l'installer ?


 
Sous mon linux, il y a généralement que la partie exécutable, donc il faut rajouter les entêtes. Sur mangrake, ça doit être un truc du style urpmi gd-devel.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
n°274148
botman
Cubeur
Posté le 20-12-2002 à 21:47:58  profilanswer
 

VTK, tu peux faire ca et sauvegarder en JPEG, GIF, BMP, PS etc ...

n°274149
youdontcar​e
Posté le 20-12-2002 à 21:48:18  profilanswer
 
n°274151
Library
Posté le 20-12-2002 à 21:50:53  profilanswer
 


 
y a l'air d'y avoir bcp de fonctions, je prefere autant un truc tout simple

n°274152
Library
Posté le 20-12-2002 à 21:51:14  profilanswer
 

BotMan a écrit :

VTK, tu peux faire ca et sauvegarder en JPEG, GIF, BMP, PS etc ...


 
je regarde ca aussi

n°274157
Library
Posté le 20-12-2002 à 21:54:34  profilanswer
 

ou est ce que je peux trouver des aides et docs sur VTK et GD ?
(j'ai un peu du mal a trouver qqch concernant le C sur google)


Message édité par Library le 20-12-2002 à 21:55:05
n°274159
kadreg
profil: Utilisateur
Posté le 20-12-2002 à 21:56:54  profilanswer
 

Pour gd, le site est : http://www.boutell.com/gd/ mais il est dans le p4t4h


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le 20-12-2002 à 21:56:54  profilanswer
 

n°274160
Library
Posté le 20-12-2002 à 21:58:57  profilanswer
 

kadreg a écrit :

Pour gd, le site est : http://www.boutell.com/gd/ mais il est dans le p4t4h


 
oui j'avais deja eu ce lien sur google :(
 
y a pas un autre site qui explique bien ?

n°274161
botman
Cubeur
Posté le 20-12-2002 à 22:06:52  profilanswer
 

Library a écrit :

ou est ce que je peux trouver des aides et docs sur VTK et GD ?
(j'ai un peu du mal a trouver qqch concernant le C sur google)

www.kitware.com :sol:

n°274163
Library
Posté le 20-12-2002 à 22:11:41  profilanswer
 

ca a l'air compliqué ton truc !

n°274171
botman
Cubeur
Posté le 20-12-2002 à 22:21:05  profilanswer
 

Library a écrit :

ca a l'air compliqué ton truc !

cai une surcouche d'openGL, 800 classes, cpa rien :D
mais les possibilites sont infinies en traitement d'images ...

n°274180
Taz@PPC
saloperie de i=`expr $i + 1`;
Posté le 20-12-2002 à 22:34:15  profilanswer
 

ben t'as qu'a faire du BMP, vu la complexié du truc pas besoin de lib :whistle:


---------------
du bon usage de rand [C] / [C++]
n°274182
Library
Posté le 20-12-2002 à 22:35:05  profilanswer
 

moi je veux juste un tout petit truc qui me permet de créer une petite image en niveaux de gris
 
ce serait écraser une mouche avec une masse en acier trempé :D

n°274186
youdontcar​e
Posté le 20-12-2002 à 22:41:53  profilanswer
 

Library a écrit :

moi je veux juste un tout petit truc qui me permet de créer une petite image en niveaux de gris

quel genre d'image ? si c'est un truc simple, tu créés un buffer de largeur*hauteur*profondeurcouleur que tu remplis à ta guise, puis tu colles devant un header bmp ([:google2]).
 
quant à l'acier trempé, tu aurais investi le temps que tu passes à te plaindre à choisir une lib et à écrire une image ... mais je m'égare :D

n°274190
Library
Posté le 20-12-2002 à 22:47:40  profilanswer
 

youdontcare a écrit :

quel genre d'image ? si c'est un truc simple, tu créés un buffer de largeur*hauteur*profondeurcouleur que tu remplis à ta guise, puis tu colles devant un header bmp ([:google2]).
 
quant à l'acier trempé, tu aurais investi le temps que tu passes à te plaindre à choisir une lib et à écrire une image ... mais je m'égare :D


 
une image 200*200 pixel remplie pixel par pixel par un programme, chaque pixel ayant une couleur grise de valeur hexa définie par mon programme.
une image 200*200 en bmp c'est deja un peu lourd, mais le probleme c'est que je dois en avoir des centaines.
 
pour ta derniere remarque, j'aimerai bien trouver une adresse ou est expliqué comment se servir de GD dans un programme en C, mais j'arrive pas a trouver.

n°274192
youdontcar​e
Posté le 20-12-2002 à 22:52:34  profilanswer
 

Library a écrit :

j'aimerai bien trouver une adresse ou est expliqué comment se servir de GD dans un programme en C

http://216.239.37.100/search?q=cac [...] n&ie=UTF-8
 
"gd basics: using gd in your program"

n°274194
Library
Posté le 20-12-2002 à 22:55:06  profilanswer
 

j'avais deja eu cette adresse, le probleme est que ca balance une proxy error quand je clique sur un lien

n°274229
Mokett
Posté le 20-12-2002 à 23:40:52  profilanswer
 

T'as pas besoin de librairie tu fais un ppm et ca roule.
 
le format c'est  
 
P6
largeur hauteur // en ascii => pour toi 200 200
255
..... // la tu mets à la suite 3 char pour le rouge le vert et le bleu pour chaque pixel (en fait c'est un format ascii au debut, binaire apres mais tu peux écrire tes couleurs qui varient de 0 à 255 avec un char)
 
et c'est trop gros tu me diras bah apres tu fait un petit coup de convert sur chaque image et tu les transformes en ce que tu veux sans aucune necessité d'apprendre à te servir d'une lib.
 
 genre  
 
convert toto.ppm toto.png
 
et voila
 
 
PS : c'est pas la meilleure solution mais à mon avis elle est super rapide à mettre en oeuvre


Message édité par Mokett le 20-12-2002 à 23:46:09
n°274236
Library
Posté le 20-12-2002 à 23:49:32  profilanswer
 

je comprend pas tout désolé
t'as une adresse qui explique un peu en donnant des lignes de code ?

n°274244
Mokett
Posté le 20-12-2002 à 23:56:01  profilanswer
 

c'est pas compliqué du tout. Un fichier ppm ça commence par un entete tres simple (je met 200 200 parce que tu veux faire des images 200x200):
 
P6
200 200
255
 
c'est les 3 premières lignes.
ensuite à partir de la 4eme tu met à la suite tous tes pixels à la suite sans espace ni rien,typiquement avec un  
 
printf("%c%c%c",r,g,b); ou r,g,b sont les composntes rouges vert et bleues de ton pixel (si tu fais du gris alors ils ont la meme valeur) r, g et b sont compris entre 0 et 255.
 

n°274255
Library
Posté le 21-12-2002 à 00:06:16  profilanswer
 

les 3 premieres lignes je les met direct comme ca ?
ca me parait bizzare comme lignes
 
sinon ca le met direct dans un bmp ca ?

n°274329
Mokett
Posté le 21-12-2002 à 00:21:01  profilanswer
 

oui direct
 en fait le début est en ascii les trois premieres lignes.
et la suite est en binnaire : un triplet d'octets pour chaque pixel.
essaie un genre de truc comme ça.
 
fprintf(out,"P6\n200 200\n255\n" );
for(i=0;i<255;i++)
   for(j=0;j<255;j++)
       fprintf(out,"%c%c%c",(char) i,(char) i,(char) i);
 
ca devrait te faire un dégradé
 
edit : ça exactement ca marche:
 
 
#include<stdio.h>
 
int main()
{
  FILE *out =fopen("toto.ppm","w" );
  unsigned char i,j;
  fprintf(out,"P6\n200 200\n255\n" );
  for(i=0;i<255;i++)
    for(j=0;j<255;j++)
      fprintf(out,"%c%c%c",(char) i,(char) i,(char) i);
  fclose(out);
  return 0;
}
 


Message édité par Mokett le 21-12-2002 à 00:29:21
n°274333
Library
Posté le 21-12-2002 à 00:34:57  profilanswer
 

merci bien ca marche
je crois que je vais utiliser cette méthode, c'est simple.

n°274335
Mokett
Posté le 21-12-2002 à 00:39:01  profilanswer
 

note tout de meme que les images sont assez grosses.  
 
mais tu peux les convertir avec "convert", comme je te l'ai dit plus haut. (convert si tu connais pas, je crois que ça va avec le package d' "image magic" )

n°274372
Library
Posté le 21-12-2002 à 10:24:09  profilanswer
 

voila c ca le nom qu'on m'avait dit pour la library :)
je vais essayer de trouver ca

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  génerer une image

 

Sujets relatifs
JS compatible avec momo pour désactiver "save image as"récupération d'une image d'un vidéo
Galerie d'image BD ou rep?Mettre une image pour submit ou risette ?
Taille d'une image dans un tableau d'imagePb Js chargment d'image ... mon script est pourri
[PHP] Inserer une image dans une autre image[ FLASH MX ] transformation d'une image existante en traits, c'est pos
recupérer les pixels d'une image en javagénérer fichier zip ou gzip d'une image en jpeg
Plus de sujets relatifs à : génerer une image


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR