Avatar billede spiritusanta Nybegynder
24. februar 2006 - 09:17 Der er 12 kommentarer og
1 løsning

Finde størrelse på billede

Hey

Er der nogen der ved hvordan finder man størrelsen på et billede, (højde og bredde) i pixel?

mvh
Jonas
Avatar billede segmose Nybegynder
24. februar 2006 - 09:19 #1
Hvilken slags billed?
Avatar billede spiritusanta Nybegynder
24. februar 2006 - 09:38 #2
Ahh det glemte jeg at skrive, det er et gif billede
Avatar billede arne_v Ekspert
24. februar 2006 - 19:11 #3
du laeser headeren og finder dem der
Avatar billede arne_v Ekspert
24. februar 2006 - 19:16 #4
hvis http://www.cs.umbc.edu/~squire/download/cards_gif/gif.h er korrekt

saa skipper du de foerste 6 bytes og laeser 2 bytes med bredde og 2 bytes
med hoejden
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 20:18 #5
tjaa det har jeg kigget på, men hvordan får jeg "samlet" højde og bredde?
Jeg har lavet følgende kode.

unsigned short width;
char a[10];
ifstream in("5640.gif", ios::binary);
in.seekg(0,ios::end);
cout << "Filesize: " << in.tellg() << endl;
in.seekg(ios::beg);
in.read(a,9);
cout << a[6]<<a[7]<<endl;
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 20:31 #6
Hmm mit problem er at der bliver vist den forkerte højde med denne kode..

unsigned short width, height;
char a[20];
ifstream in("5640.gif", ios::binary);
in.seekg(0,ios::end);
cout << "Filesize: " << in.tellg() << endl;
in.seekg(ios::beg);
in.read(a,20);
cout << a[6]<<a[7]<<endl;
width = a[6];
width += a[7]<<8;
height = a[8];
height += a[9]<<8;
   
cout << "Bredde: " << width << endl;
cout << "Hoejde: " << height << endl;
Avatar billede spiritusanta Nybegynder
25. februar 2006 - 21:04 #7
Det mærkelige er at jeg får den rigtige højde, bare ikke den rigtige bredde
Avatar billede arne_v Ekspert
25. februar 2006 - 23:39 #8
hvilke tal giver koden og hvad er de rigtige ?
Avatar billede bertelbrander Novice
26. februar 2006 - 00:24 #9
lav a om til en unsigned char og cast den i kaldet til read.

Eller læs størrelsen direkte:
  in.seekg(6, ios::beg);
  in.read((char *)&width, 2);
  in.read((char *)&height, 2);
  std::cout << width << ", " << height << endl;
Avatar billede arne_v Ekspert
22. april 2006 - 23:08 #10
kommet videre ?
Avatar billede spiritusanta Nybegynder
01. november 2007 - 21:17 #11
Er ikke så god til at lukke mine spørgsmål,, men har vist fået det løst,, vil du smide et svar :)
Avatar billede arne_v Ekspert
02. november 2007 - 00:39 #12
moi ?
Avatar billede spiritusanta Nybegynder
02. november 2007 - 21:09 #13
hehe jep,, så må bertelbrander sige til hvis han føler sig snydt,, men mange tak begge to :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester