Bonjour,
J'aimerais convertir des fichiers JPG en BMP (et pas l'inverse) via un script PHP. J'ai effectué quelques recherches sur le net, et je suis tombé sur la bibliothèque GD. Mais j'aimerais savoir s'il y a plus simple Merci.
Bonjour,
J'aimerais convertir des fichiers JPG en BMP (et pas l'inverse) via un script PHP. J'ai effectué quelques recherches sur le net, et je suis tombé sur la bibliothèque GD. Mais j'aimerais savoir s'il y a plus simple Merci.
à part utiliser un programme sur le serveur qui fait la conversion, je vois pas comment tu pourrais faire sans gd !
je te donne le nom des fonctions à utiliser
- imagecreatefromjpeg (pour ouvrir l'image source)
- imagesx et imagesy pour récupérer les dimensions de l'image à créer
- imagecreatetruecolor (pour créer la nouvelle image)
- imagecopymerge
- imagewbmp
- imagedestroy
la description des fonctions est dans la doc sur php.net et dans ce tuto
J'ai un problème avec imagewbmp, ça me sort un fichier illisible de 13ko à partir d'un jpg de 45ko...
La fonction imagepng fonctionne nickel par contre... je comprends pas
il se trouve que wbmp fonctionne pas correctement.
et ça marche bien
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45 <?php function imagebmp ($im, $fn = false) { if (!$im) return false; if ($fn === false) $fn = 'php://output'; $f = fopen ($fn, "w"); if (!$f) return false; //Image dimensions $biWidth = imagesx ($im); $biHeight = imagesy ($im); $biBPLine = $biWidth * 3; $biStride = ($biBPLine + 3) & ~3; $biSizeImage = $biStride * $biHeight; $bfOffBits = 54; $bfSize = $bfOffBits + $biSizeImage; //BITMAPFILEHEADER fwrite ($f, 'BM', 2); fwrite ($f, pack ('VvvV', $bfSize, 0, 0, $bfOffBits)); //BITMAPINFO (BITMAPINFOHEADER) fwrite ($f, pack ('VVVvvVVVVVV', 40, $biWidth, $biHeight, 1, 24, 0, $biSizeImage, 0, 0, 0, 0)); $numpad = $biStride - $biBPLine; for ($y = $biHeight - 1; $y >= 0; --$y) { for ($x = 0; $x < $biWidth; ++$x) { $col = imagecolorat ($im, $x, $y); fwrite ($f, pack ('V', $col), 3); } for ($i = 0; $i < $numpad; ++$i) fwrite ($f, pack ('C', 0)); } fclose ($f); return true; } imagecreatefromjpeg('image.jpg'); header("Content-type: ".image_type_to_mime_type(IMAGETYPE_WBMP)); imagebmp($image); ?>
source - exemple écrit par "shd at earthling dot net"
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager