Bonjour,
Je reviens j'ai identifié mon problème mais je ne vois pas comment le résoudre ...
Voici la fonction qui creer ma mosaic d'image :
static function mosaic($directory,$perLine,$width,$height){
$images = glob($directory.'/*.jpg');
require_once (APPPATH."libraries/imagine.phar");
$imagine = new Imagine\Gd\Imagine();
$size = new Imagine\Image\Box($width * ceil( count($images)/$perLine ),$perLine * $height);
$thumbsize = new Imagine\Image\Box($width,$height);
$mosaic = $imagine->create($size);
foreach ($images as $k => $image)
{
$x = floor($k / $perLine) * $width;
$y = $k % $perLine * $height;
$point = new Imagine\Image\Point($x, $y);
$thumb = $imagine->open($image)->thumbnail($thumbsize,'outbound');
$mosaic->paste($thumb, $point);
echo $image."\n";
}
$aplat = $imagine->create($size, new Imagine\Image\Color('308cba', 15));
$mosaic->paste($aplat, new Imagine\Image\Point(0,0));
$mosaic->save($directory.'/mosaic.jpg');
}
Et le code qui appele ma fonction sur ma page profil.php:
<style type="text/css">
.bandeMosaic{
height: 300px;
background: url(<?= Image::mosaic('img/mosaic',3,150,100);?>) left top;
background-size: cover;
color: #fff;
}
</style>
<div class="bandeMosaic"></div>
Donc si j'appele ma fonction mosaic, ma mosaic d'images est bien créer avec les images dans le dossier "img/mosaic".
Le problème est que cela me créer une erreur dans ma page profil.php et ne m'affiche pas la mosaic dans la div bandeMosaic car je suis sur codeIgniter et pour afficher la mosaic il faut que je mette par exemple :
<style type="text/css">
.bandeMosaic{
height: 300px;
background: url(<?= base_url().'img/mosaic/mosaic.jpg';?>) left top;
background-size: cover;
color: #fff;
}
</style>
Ceci m'affiche la mosaic car il y a base_url() devant mon chemin, ça retourne http://monsite/img/mosaic/mosaic.jpg
C'est là le problème car quand je fais appele a la fonction imagine::mosaic le $directory que je dois mettre est 'img/mosaic' pour que ma mosaic se creer dans le dossier mosaic mais je dois retourner mon chemin avec base_url() devant.
J'ai essayé beaucoup de choses pour caler mon base_url() mais rien n'y fait :(