OVH Cloud OVH Cloud

format d'image

5 réponses
Avatar
Etienne SOBOLE
Salut.

Disons que j'ai un format d'image un peu personnel et que je voudrai
convertir ces images en PNG en utilisant PHP.
Y a t-il un moyen de passer au tableau d'entier (32 bits) RBV[A] pour
initialiser une image
un scripte qui ressemblerai un peu a :

$im = imagecreatetruecolor(50, 100);
imageputbuffer($im, $buffer);
imagepng($im);
imagedestroy($im);

voila evidement c'est la fonction
imageputbuffer qui me manque.
dans buffer j'ai 5000 (50 * 100) entier 32bits....

C'est assez urgent en fait. dons si quelqu'un a deja fait ca, un petit coup
de main serait le bien venu ;)
merci

Etienne

5 réponses

Avatar
Etienne SOBOLE
En gros je cherche a créer une image depuis un RAW

genre
createimagefromraw()
qui n'existe pas.

Etienne
Avatar
Olivier Miakinen

Disons que j'ai un format d'image un peu personnel et que je voudrai
convertir ces images en PNG en utilisant PHP.
Y a t-il un moyen de passer au tableau d'entier (32 bits) RBV[A] pour
initialiser une image
un scripte qui ressemblerai un peu a :

$im = imagecreatetruecolor(50, 100);
imageputbuffer($im, $buffer);
imagepng($im);
imagedestroy($im);

voila evidement c'est la fonction
imageputbuffer qui me manque.
dans buffer j'ai 5000 (50 * 100) entier 32bits....


Une idée, en passant :

function imageputbuffer($im, $buffer, $x_size = 50, $y_size = 100)
{
for ($x = 0; $x < $x_size; $x++) {
for ($y = 0; $y < $y_size; $y++) {
imagesetpixel($im, $x, $y, $buffer[x][y]);
}
}
}

À adapter, probablement.

Avatar
Etienne SOBOLE
"Olivier Miakinen" <om+ a écrit dans le message de news:
cj9bsj$1tq4$

Une idée, en passant :

function imageputbuffer($im, $buffer, $x_size = 50, $y_size = 100)
{
for ($x = 0; $x < $x_size; $x++) {
for ($y = 0; $y < $y_size; $y++) {
imagesetpixel($im, $x, $y, $buffer[x][y]);
}
}
}


Une bonne idée ma foie, mais je crains que ce procédé ne soit comme qui
dirai un peu long.
Malheureusement, cela ne peux pas etre du precalcul !!!

Etienne

Avatar
destroyedlolo
Etienne SOBOLE wrote:
"Olivier Miakinen" <om+ a écrit dans le message de news:
cj9bsj$1tq4$


Une idée, en passant :

function imageputbuffer($im, $buffer, $x_size = 50, $y_size = 100)
{
for ($x = 0; $x < $x_size; $x++) {
for ($y = 0; $y < $y_size; $y++) {
imagesetpixel($im, $x, $y, $buffer[x][y]);
}
}
}



Une bonne idée ma foie, mais je crains que ce procédé ne soit comme qui
dirai un peu long.
Malheureusement, cela ne peux pas etre du precalcul !!!


Ca dépend de la taille de l'image et de ta machine ... De mon côté, j'ai
fait un truc de ce genre pour convertir des tuiles DEM (format
numérique qui permet d'avoir la hauteur d'un point sur une carte,
utilisé par des softs comme VistaPro) vers 2 fichiers PNG : ben, ça
reste quand même assez rapide même sur mes machines qui sont loin
d'être veloce. Sinon, l'autre solution est bien sûr de reprendre le même
code en C++ mais bon, le jeu en vaut-il la chandelle ?


--
Amiga, UNIX Le tous avec pleins de faute d'ortographes ...
Sharp, NetBSD http://go.to/destroyedlolo
Apache, PHP http://destroyedlolo.homeunix.org:8080/
Vacances, Voyages 100 % dictionary free - 1 mispelling by word


Avatar
Etienne SOBOLE
Ca dépend de la taille de l'image et de ta machine ... De mon côté, j'ai
fait un truc de ce genre pour convertir des tuiles DEM (format numérique
qui permet d'avoir la hauteur d'un point sur une carte, utilisé par des
softs comme VistaPro) vers 2 fichiers PNG : ben, ça reste quand même assez
rapide même sur mes machines qui sont loin d'être veloce. Sinon, l'autre
solution est bien sûr de reprendre le même code en C++ mais bon, le jeu en
vaut-il la chandelle ?


Non. ca c'est deja fait!
Pour l'instant mon truc marche comme un module PHP (donc en C)
et je préfèrerai le refaire en PHP...

je me dit qu'une des solution serait de convertir dans une format lisible
par imagecreate.
mais bon faut soit savoir créer un jpg ou un png en PHP et c'est gère plus
simple.

sinon une autre alternative est d'utiliser imagemagick pour convertir mon
raw en jpg...
mais bon, j'aurai préféré faire autrement.

Etienne