JPEG -> BMP

Pagina: 1
Acties:
  • 277 views sinds 30-01-2008

Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Hoi,

Ik wil mijn wallpaper automatisch laten veranderen, en nu ben ik hiervoor opzoek naar een converter die JPEG files om kan zetten in BMP. Ik heb hiervoor al enige tijd lopen googlen, maar zonder al te veel resultaat.

Ik wil dit script maken in PHP, en als er echt geen andere mogelijkheid is in Delphi.

Weet iemand hoe ik dit het beste aan kan pakken?

Acties:
  • 0 Henk 'm!

  • Snake
  • Registratie: Juli 2005
  • Laatst online: 07-03-2024

Snake

Los Angeles, CA, USA

-Excuseer-

[ Voor 93% gewijzigd door Snake op 06-04-2007 23:28 ]

Going for adventure, lots of sun and a convertible! | GMT-8


Acties:
  • 0 Henk 'm!

  • AndriesLouw
  • Registratie: December 2005
  • Laatst online: 27-07 14:36
Irfanview, maar dat is geen PHP script.

Specificaties | AndriesLouw.nl


Acties:
  • 0 Henk 'm!

  • EWK
  • Registratie: Mei 2006
  • Niet online

EWK

Een fles dode pixels te koop!

-

[ Voor 100% gewijzigd door EWK op 06-04-2007 22:23 ]

Hoi!


Acties:
  • 0 Henk 'm!

  • mad_max234
  • Registratie: September 2003
  • Laatst online: 07-02 11:09

mad_max234

AMD Athlon II M320

Paint. :)

-Andere hobby- -


Acties:
  • 0 Henk 'm!

  • TommyGun
  • Registratie: Mei 2004
  • Laatst online: 29-07 15:03

TommyGun

Stik er maar in!

Is dat een PHP script ja? :o

“In a world without walls and fences, who needs Windows and Gates".


Acties:
  • 0 Henk 'm!

Verwijderd

Zoiets?
PHP:
1
2
3
4
5
6
$source = dirname(__FILE__) . '/test.jpg';
$target = dirname(__FILE__) . '/test.bmp';


$data = imagecreatefromstring(file_get_contents($source));
$result = imagewbmp($data, $target);


Ehh oops, sorry dit gaat niet werken met GD (zoals hierboven). Er is een verschil tussen bmp en wbmp, en er zit geen bmp support in GD. Met bijv. imagepng kun je wel png'tjes maken van je jpg's, wat natuurlijk veel beter is :P

[ Voor 39% gewijzigd door Verwijderd op 06-04-2007 22:32 ]


Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Dat gaat allemaal over BMP to JPEG, google let niet op de volgorde, en die exacte zoekopdracht had ik trouwens al gegeven
Helaas kan ik paint niet aanroepen vanuit een script, een wallpaper laten openen, en laten converten in BMP :O

Aub even lezen voor jullie reageren mensen...

Acties:
  • 0 Henk 'm!

  • downtime
  • Registratie: Januari 2000
  • Niet online

downtime

Everybody lies


Acties:
  • 0 Henk 'm!

  • Gerco
  • Registratie: Mei 2000
  • Laatst online: 26-07 02:03

Gerco

Professional Newbie

http://www.imagemagick.org/script/index.php

[edit]
Spuit 11

[ Voor 18% gewijzigd door Gerco op 06-04-2007 22:30 ]

- "Als ik zou willen dat je het begreep, legde ik het wel beter uit!" | All number systems are base 10!


Acties:
  • 0 Henk 'm!

  • Aloys
  • Registratie: Juni 2005
  • Niet online
Waarom wil je uberhaupt je wallpaper van jpeg omzetten naar bmp??

Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Aloys schreef op vrijdag 06 april 2007 @ 22:30:
Waarom wil je uberhaupt je wallpaper van jpeg omzetten naar bmp??
zodat ik dan dmv
code:
1
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True

de wallpaper kan laten refeshen

Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Hier stond eerst dat de php code die er net stond perfect werkte maar laat dat maar hangen komt gewoon image/jpeg uit gerold :P

[ Voor 87% gewijzigd door sanzut op 06-04-2007 22:36 ]


Acties:
  • 0 Henk 'm!

Verwijderd

sanzut schreef op vrijdag 06 april 2007 @ 22:34:
[...]

Ken je het principe dat je je eerste ingeving niet moet veranderen (toetsen, examens, quizzen, weet ik veel wat nog meer), zou jij je eens aan moeten houden :P

De code die er net stond;
PHP:
1
2
3
4
5
6
7
8
<?php
$source = dirname(__FILE__) . '/wallpaper1.jpg';
$target = dirname(__FILE__) . '/test.bmp';


$data = imagecreatefromstring(file_get_contents($source));
$result = imagejpeg($data, $target, 90);
?>


Die werkt perfect:p had zelf imagejpeg niet bekeken, omdat ik tenslotte geen jpeg maar een bmp file wilde maken :p
Ehh dat imagejpeg was een typefoutje. Alles wat je nu eigenlijk doet is je jpeg renamen naar een .bmp 8)7
(het blijft een jpeg :P)

Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Verwijderd schreef op vrijdag 06 april 2007 @ 22:35:
[...]


Ehh dat imagejpeg was een typefoutje. Alles wat je nu eigenlijk doet is je jpeg renamen naar een .bmp 8)7
(het blijft een jpeg :P)
had het ondertussen gezien ja :p

Acties:
  • 0 Henk 'm!

Verwijderd

sanzut schreef op vrijdag 06 april 2007 @ 22:36:
[...]

had het ondertussen gezien ja :p
Geen BMP support in GD dus. Enige mogelijkheid is dus Imagemagick gebruiken

Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Verwijderd schreef op vrijdag 06 april 2007 @ 22:51:
[...]

Geen BMP support in GD dus. Enige mogelijkheid is dus Imagemagick gebruiken
idd, maar daar verdiep ik me volgende week wel in, dit heeft toch geen haast:P

Acties:
  • 0 Henk 'm!

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 06-07 11:49

krvabo

MATERIALISE!

http://www.jpexs.com/eng/southpark/download/php/bmp.php

functies imagecreatefrombmp(), imagebmp() waarmee je dus hetzelfde kunt doen als met jpg enzo. Ooit zelf eens gebruikt voor een fotoalbum, werkt prima.

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


Acties:
  • 0 Henk 'm!

  • Daos
  • Registratie: Oktober 2004
  • Niet online
Volgens mij kan je in Windows gewoon een jpeg gebruiken als wallpaper.

[edit]
Hij komt dan volgens google in "HKCU\Software\Microsoft\Internet Explorer\Desktop\General" te staan bij "Wallpaper"

Waarom wil je zelf iets maken? Er zijn zat tooltjes die zoiets kunnen.

Als je toch iets zelf gaat maken, kan je misschien naar de Active Desktop kijken. Je kan dan echt iets (inter)actiefs maken.

[ Voor 70% gewijzigd door Daos op 06-04-2007 23:21 ]


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 14-07 21:33

NMe

Quia Ego Sic Dico.

Met [google=convert jpg to bmp php] kom je al een heel eind naar de oplossing van je probleem. Heb je daar niet genoeg aan, dan zijn er talloze commandline tools (zoals inderdaad onder andere ImageMagick) die je kan vinden met Google die ook nog eens bruikbaar zijn vanuit PHP of Delphi. Voor Delphi heb je er volgens mij zelfs standaardfuncties voor die gewoon in de helpfiles omschreven staan.

Hier moet je met een beetje Googlen wel zonder onze hulp uit kunnen komen. Zeker met de tips die je nu gekregen hebt kom je er wel uit en heb je dit topic niet echt meer nodig. Ik zet het dan ook op slot. :)

Verder wil ik graag Snakiej, urnie538 en mad_max234 wijzen op de Policy mbt replies in 'slechte' topics. Reageer zinvol of reageer niet. :)

edit:
En tijdelijk weer even open. sanzut heeft zijn probleem opgelost en wil graag de oplossing posten. :)

[ Voor 6% gewijzigd door NMe op 07-04-2007 02:34 ]

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • sanzut
  • Registratie: December 2006
  • Laatst online: 13:25

sanzut

It's always christmas time

Topicstarter
Heb in tussen ImageMagick geinstalleerd, dit is wél goed gelukt. Ook heb ik ondertussen een van mijn wallpapers succesvol omgezet van JPEG naar BMP.

Dit is het uiteindelijke script geworden;
PHP: change.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$map = 'C:\\wallpaperchanger\\images\\';                            //De map met .jpg's
$dezemap = 'C:\\wallpaperchanger\\';                                //De map met dit bestand
$imagemagickpad = 'C:\\Program Files\\ImageMagick-6.3.3-Q16\\'; //het pad van ImageMagick
$userpad = 'C:\\Documents and Settings\\USERNAME\\';            //Het pad naar de Documents en Settings van de user.

$bestanden = array();                                           //Array voor de filenames


$dirhandle = opendir($map);                                     //Open de map
while (false!==($temp = readdir($dirhandle))){                  //Lees alle files uit de dir
    if(substr($temp,-4,4)=='.jpg'){                             //Lees alleen de .jpg files
        $bestanden[] = $temp;                                   //Zet deze in de array
    } 
}
closedir($dirhandle);                                           //Sluit de map

$aantal = count($bestanden);                                    //Tel het aantal bestanden in de array
$wallpaper = rand(0,$aantal);                                   //Bepaal willekeurig het nr van de nieuwe wallpaper
$wallpaper = $map.$bestanden[$wallpaper];                       //Vertaal dit nummer in een pad naar de .jpeg wallpaper

$batfile = fopen($dezemap.'convert.bat','w');
$writestring = '"'.$imagemagickpad.'convert" '.$wallpaper.' "'.$userpad.'Local Settings\Application Data\Microsoft\Wallpaper1.bmp"
RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters ,1 ,True';
fwrite($batfile,$writestring);
fclose($batfile);
?>


start.bat
php.exe -f C:\wallpaperchanger\change.php
convert.bat


Een aantal opmerkingen;
- De variabelen in change.php uiteraard even aanpassen.
- Dit script vereist het gebruik van ImageMagick
- Dit script werkt alleen op Windows
- Dit script is alleen getest op Windows XP Pro NL SP2, ongevalideerd
- Gebruik op eigen risico
- Uiteraard kan het beter, makkelijker, simpeler enz, maar omdat Windows lastig deed over de tijd die tussen de verschillende stappen zat heb ik het opgesplitst in 3 bestanden.
- Vragen, opmerkingen, tips en kritiek, mits opbouwend, zijn uiteraard welkom!

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 14-07 21:33

NMe

Quia Ego Sic Dico.

En weer dicht. Bedankt voor het posten van de oplossing in elk geval. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.