tout le monde. Je fais un projet de collège sur Online Photo Editor mais je suis confronté à un problème en ajoutant une couleur de fond au texte que j'ajoute sur une image en utilisant Imagick. Voici le code php pour Imagick utiliséAjout de fond au texte annoté sur l'image dans Imagick
caption.php
<?php
$caption = $_POST['caption'];
$caption_color = $_POST['caption_color'];
$caption_color = "#".$caption_color;
$font = $_POST['font'];
$image = new Imagick();
$draw = new ImagickDraw();
$data = "\intermediate.jpg";
$im = new Imagick(__DIR__.$data);
$im->setImageFormat("jpg");
$draw->setFillColor($caption_color);
$draw->setFont('Arial');
$draw->setFontSize($font);
$im->annotateImage($draw, $im->getImageWidth()/2, $im->getImageHeight()/2, 0, $caption);
header('Content-type: image/jpg');
$im->writeImages(__DIR__.$data, true);
?>
Ceci est le résultat que je reçois Link to Resulted Image
C'est ce que je veux Link to Desired Result
Comment puis-je obtenir le résultat souhaité? Toute aide est fortement appréciée. Juste au cas où nécessaire, ci-dessous est la demande ajax et html qui envoie les valeurs
effect.php
function myCaptionAjax() {
var loader = $("#ajax-loader");
var div_loader = $("#img");
$.ajax({
type: 'POST',
url: 'effects/caption.php',
data: {caption: $('#caption_value').val(),caption_color: $('#caption_color').val(),font: $('#font_value').val()},
beforeSend: function() {
loader.show();
div_loader.hide();
},
success: function (data) {
loader.hide();
div_loader.show();
display();
},
error: function (xhr) {
alert("error");
}
});
};
partie html résidant dans effect.php
Caption:<input type="textarea" rows="4" cols="10" maxlength="40" id="caption_value" />
<input id="caption_color" class="jscolor" value="ab2567">
<input type="range" min="10" max="50" value="10" step="1" onchange="showFont(this.value)" id="font_value"/> <span id="rangeFont"></span>
<button class="button" onclick="myCaptionAjax()">Apply</button>
Toute aide est très apprécié.
Je me résolu le problème, mais merci pour la suggestion. Je garderai cette fonction drawImage() à l'esprit pour une utilisation ultérieure. – subhadeep