0
모두. 나는 온라인 사진 편집기에 대학 프로젝트를하고 있지만 Imagick을 사용하여 이미지에 추가 할 텍스트에 배경색을 추가 할 때 문제가 있습니다. 다음은 Imagick 사용을위한 PHP 코드는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);
?>
이 을지고있어 결과가 내가 원하는 것입니다 Link to Desired Result
원하는 결과를 얻으려면 어떻게해야합니까? 어떤 도움이라도 대단히 감사합니다. 다만 필요한 경우 , 아래 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>
내 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");
}
});
};
HTML 부분이 존재하는 값
을 보내는 아약스 요청 및 HTML은 어떤 도움이 매우이다 고맙습니다.
내가 문제를 스스로 해결 제안에 대한 감사하지만 :
대신 ImagickDraw 객체의 텍스트를 그릴,이 예처럼 Imagick ::의 drawImage를 사용하여 이미지 위에 있음을 다음 합성. 나중에 사용하기 위해 drawImage() 함수를 염두에 두겠습니다. – subhadeep