|  | 		    
					
        
         
          
         
	
          | |  | behandling af BMP filer Fra : Birger Sørensen
 | 
 Dato :  27-04-11 15:14
 | 
 |  | 
 
            Er der nogen der har en fornuftig
 imagecreatefrombmp() ?
 Jeg er ved at opfinde en side, hvor jeg kan uploade alle vores billede 
 ( htttp://bbsorensen.com/slide/ - den viser dem).
 Admin siden, converterer uploaded gif'er og png'er til jpg'er, og jeg 
 ville godt kunne gøre det samme med BMP'er. Men der findes ikke nogen 
 indbygget imagecreatefrombmp() ?
 Der findes masser af andre formater - men ikke noget BMP.
 De billeder jeg har i bmp format, er mestendels screendumps. Jeg kunne 
 åbne dem i et billedbehandlingsprogram, og gemme dem som jpg. Det er 
 lidt upraktisk, men virker fint.
 Jeg har fundet et par forslag til hjemmestrikkede imagecreatefrombmp() 
 - der alle konsekvent ændrer rødt til grønt og grønt til blåt. Og det 
 ser meget psykadelisk ud, men er ikke helt det jeg har brug for...
 Kunne måske også godt lide at vide, hvad der egentlig er galt. Mit 
 grafikprogram (paintdotnet) læser fint filerne med de rigtige farver.
 Så hvis nogen ved hvorfor, eller kan genkende problemet...
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Andreas Andersen (27-04-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  27-04-11 15:57
 | 
 |  | Den 27-04-2011 16:14, Birger Sørensen skrev:
 > Er der nogen der har en fornuftig
 > imagecreatefrombmp() ?
 >
 > Jeg er ved at opfinde en side, hvor jeg kan uploade alle vores billede (
 > htttp://bbsorensen.com/slide/ - den viser dem).
 > Admin siden, converterer uploaded gif'er og png'er til jpg'er, og jeg
 > ville godt kunne gøre det samme med BMP'er. Men der findes ikke nogen
 > indbygget imagecreatefrombmp() ?
 > Der findes masser af andre formater - men ikke noget BMP.
 > De billeder jeg har i bmp format, er mestendels screendumps. Jeg kunne
 > åbne dem i et billedbehandlingsprogram, og gemme dem som jpg. Det er
 > lidt upraktisk, men virker fint.
 >
 > Jeg har fundet et par forslag til hjemmestrikkede imagecreatefrombmp() -
 > der alle konsekvent ændrer rødt til grønt og grønt til blåt. Og det ser
 > meget psykadelisk ud, men er ikke helt det jeg har brug for...
 
 Hvilken slags maskine kører du det på? Little endian eller big endian?
 Det har betydning for, hvordan grupper af bytes bliver læst ind. BMP
 skal være little endian, men hvis man så forsøger at læse det på en big
 endian-maskine, bliver bytesene vendt rundt, og det kunne jo godt
 resultere i ombyttede farver...
 
 --
 Andreas
 
 
 |  |  | 
  Birger Sørensen (27-04-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  27-04-11 16:35
 | 
 |  | 
 
            Følgende er skrevet af Andreas Andersen:
 > Hvilken slags maskine kører du det på? Little endian eller big endian? Det 
 > har betydning for, hvordan grupper af bytes bliver læst ind. BMP skal være 
 > little endian, men hvis man så forsøger at læse det på en big endian-maskine, 
 > bliver bytesene vendt rundt, og det kunne jo godt resultere i ombyttede 
 > farver...
 Sitet er hostet hos servage, OS er linux, og serveren Apache 20051115 - 
 men om det er store eller små indianere, kan jeg ikke se...
 Har funderet at rode med koden, for der arbejdes temmelig meget med 
 paletten kan jeg se.
 Billedet er godt nok, som sådan.
 Og de første 54-55 bytes læses og fortolkes rigtigt - så jeg ville 
 egentlig tro, at hvis det var det, der var problemet, ville mange andre 
 ting gå galt, inden man nåede til paletten..
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
   Andreas Andersen (27-04-2011) 
 
	
          | |  | Kommentar Fra : Andreas Andersen
 | 
 Dato :  27-04-11 16:55
 | 
 |  | Den 27-04-2011 17:35, Birger Sørensen skrev:
 > Følgende er skrevet af Andreas Andersen:
 >> Hvilken slags maskine kører du det på? Little endian eller big endian?
 >> Det har betydning for, hvordan grupper af bytes bliver læst ind. BMP
 >> skal være little endian, men hvis man så forsøger at læse det på en
 >> big endian-maskine, bliver bytesene vendt rundt, og det kunne jo godt
 >> resultere i ombyttede farver...
 >
 > Sitet er hostet hos servage, OS er linux, og serveren Apache 20051115 -
 > men om det er store eller små indianere, kan jeg ikke se...
 >
 > Har funderet at rode med koden, for der arbejdes temmelig meget med
 > paletten kan jeg se.
 > Billedet er godt nok, som sådan.
 > Og de første 54-55 bytes læses og fortolkes rigtigt - så jeg ville
 > egentlig tro, at hvis det var det, der var problemet, ville mange andre
 > ting gå galt, inden man nåede til paletten..
 
 Det skulle man synes. Jeg forsøgte lige at downloade nogle af de
 hjemmelavede imagecreatefrombmp, der ligger på nettet, men jeg kunne
 ikke få nogen af dem til at virke på Wamp og Windows 7 (de genererede
 billeder har fejl af en art), så de virker åbenbart kun under de helt
 rigtige forhold. Noget af koden i den ene jeg hentede ser sådan ud:
 
 $a = ord($str[0]);
 $b = ord($str[1]);
 $c = ord($str[2]);
 $pixel = $c*256*256 + $b*256 + $a;
 imagesetpixel($img, $x, $y, $pixel);
 
 Din må have noget tilsvarende, og der kunne man jo eksperimentere lidt
 med at bytte rundt på $a, $b og $c.
 
 --
 Andreas
 
 
 |  |  | 
    Birger Sørensen (27-04-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  27-04-11 20:30
 | 
 |  | 
 
            Andreas Andersen udtrykte præcist:
 > $a = ord($str[0]);
 > $b = ord($str[1]);
 > $c = ord($str[2]);
 > $pixel = $c*256*256 + $b*256 + $a;
 > imagesetpixel($img, $x, $y, $pixel);
 >
 > Din må have noget tilsvarende, og der kunne man jo eksperimentere lidt med at 
 > bytte rundt på $a, $b og $c.
    $a = ord($str[0]);   // grøn
    $b = ord($str[1]);   // rød
    $c = ord($str[2]);   // blå
    return $b*256*256 + $a*256 + $c;
 så vises det rigtigt her.
 Men har ellers fundet en anden (der godt nok kun kan indlæse og ikke 
 gemme bmp), som har samme problem, men ellers er mere overskuelig, som 
 jeg har leget med.
 Kan poste den, hvis nogen er interesseret.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
     Birger Sørensen (28-04-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  28-04-11 11:08
 | 
 |  | 
 
            Birger Sørensen kom med denne ide:
 > Andreas Andersen udtrykte præcist:
 >
 >> $a = ord($str[0]);
 >> $b = ord($str[1]);
 >> $c = ord($str[2]);
 >> $pixel = $c*256*256 + $b*256 + $a;
 >> imagesetpixel($img, $x, $y, $pixel);
 >>
 >> Din må have noget tilsvarende, og der kunne man jo eksperimentere lidt med 
 >> at bytte rundt på $a, $b og $c.
 >
 >    $a = ord($str[0]);   // grøn
 >    $b = ord($str[1]);   // rød
 >    $c = ord($str[2]);   // blå
 >    return $b*256*256 + $a*256 + $c;
 >
 > så vises det rigtigt her.
 >
 > Men har ellers fundet en anden (der godt nok kun kan indlæse og ikke gemme 
 > bmp), som har samme problem, men ellers er mere overskuelig, som jeg har 
 > leget med.
 > Kan poste den, hvis nogen er interesseret.
 >
 > Birger
 Og det viser sig så, at det er mine billeder der har et problem.
 De er "taget" med PrintScreen funktionen under udførelsen af et spil - 
 GuildWars - men jeg kan ikke vide om programmet har noget at gøre med 
 det. (Jeg kan i spillet vælge om jeg vil gemme som bmp eller jpg, så 
 det har det formentlig).
 Jeg producerede et 24-bit bmp med paintdotnet, og det bliver læst 
 rigtigt, med de forhåndenværende løsninger - men GuildWars billederne 
 bliver farvelagt forkert.
 Har fræset header informationer etc., men kan ikke finde forskellen.
 En dag lykkes det nok... Der må jo være en forklaring, når paintdotnet 
 kan læse dem rigtigt...
 Så til det her brug, modificerede jeg så en udgave, fundet på php.net.
 Den skulle virke på op til 24bit bmp - jeg har ikke set andet, men 
 heller ikke testst...
 (og BMP'er kan så i dag have 32 bit også, men det må nødvendigvis gå 
 galt - der er kun mulighed for 1, 4, 8 16 og 24 bit).
 Koden kan ifndes her
http://bbsorensen.com/slide/bmp/read_bmp.php.txt Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
      Chano Andersen (29-04-2011) 
 
	
          | |  | Kommentar Fra : Chano Andersen
 | 
 Dato :  29-04-11 11:36
 | 
 |  | Den 28-04-2011 12:07, Birger Sørensen skrev:
 > Og det viser sig så, at det er mine billeder der har et problem.
 > De er "taget" med PrintScreen funktionen under udførelsen af et spil -
 > GuildWars - men jeg kan ikke vide om programmet har noget at gøre med
 > det. (Jeg kan i spillet vælge om jeg vil gemme som bmp eller jpg, så det
 > har det formentlig).
 
 Er der nogen god grund til, at det absolut SKAL gemmes i BMP, når du har
 muligheden for at skifte det til JPG i stedet?
 
 - Chano Andersen
 
 
 |  |  | 
       Birger Sørensen (29-04-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  29-04-11 14:20
 | 
 |  | 
 
            Chano Andersen skrev den 29-04-2011:
 > Den 28-04-2011 12:07, Birger Sørensen skrev:
 >> Og det viser sig så, at det er mine billeder der har et problem.
 >> De er "taget" med PrintScreen funktionen under udførelsen af et spil -
 >> GuildWars - men jeg kan ikke vide om programmet har noget at gøre med
 >> det. (Jeg kan i spillet vælge om jeg vil gemme som bmp eller jpg, så det
 >> har det formentlig).
 >
 > Er der nogen god grund til, at det absolut SKAL gemmes i BMP, når du har 
 > muligheden for at skifte det til JPG i stedet?
 >
 > - Chano Andersen
 Ja.
 BMP'er fylder aht. - lidt over 3Mb.
 Men vi bruger dem til at klippe ud af, laver gif'er og bruger dem til 
 mange sjove ting - syntes vi selv i hvert fald ^^
 Men hvis vi gemmer i jpg, flyder farverne sammen, så udklipningen er 
 umulig - i bedste fald med et meget ringe resultat.
 Og det med at vælge mellem bmp/jpg, er ikke en "on the fly" operation, 
 men noget man vælger at ændre ved login, eller i hvert fald før man 
 begynder at spille.
 Og tanken var også at bruge nogen af alle de mange billede vi 
 efterhånden har, uden at være nødt til at kopiere eksisterende bmp'er 
 til jpg'er først.
 Birger.
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Kasper Johansen (08-05-2011) 
 
	
          | |  | Kommentar Fra : Kasper Johansen
 | 
 Dato :  08-05-11 11:15
 | 
 |  |  |  |  | 
  Birger Sørensen (08-05-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  08-05-11 14:07
 | 
 |  |  |  |  | 
 |  |