0
我爲我的英語對不起! 我有這個問題,imagick PHP和覆蓋文本的圖像上。 調整圖像寬度時,字體的大小很小。 這是在兩個圖像的寬度的例子,首先是350像素和第二是1728px: http://i.stack.imgur.com/8kRo0.jpg http://i.stack.imgur.com/TedDO.jpg字體大小取決於圖像大小
$ F-> userFontSize是字體的登錄的是用戶選擇顯示他的圖像上的大小。
if(trim($_GET['full']) != 'si'){
$width = 350;
$height = 350;
} else {
$width = getWidth($root . $f->imagePathFull);
$height = getHeight($root . $f->imagePathFull);
}
$image = new imagick();
$draw = new imagickDraw();
$pixel = new imagickPixel('white');
$image->newImage($width, $height, $pixel);
$image->readImage($root . $f->imagePathNormal);
$image->resizeImage ($width, $height, imagick::FILTER_LANCZOS, 1, TRUE);
$fontPath = $root . '/assets/fonts/Mermaid.ttf';
$draw->setFillColor('black');
$draw->setFont($fontPath);
$draw->setFontSize(12 + $f->userFontSize);
$draw->setGravity(1);
$draw->setTextAntialias(true);
$draw->setFillOpacity(".55");
$image->annotateImage($draw, 5,0, 0, "text text text");
$image->setImageFormat("jpg");
header("Content-Type: image/jpeg");
echo $image->getImageBlob();
$image->clear();
當我打印分辨率爲1728px的圖像時,文字非常小。如何根據圖像大小來增加字體大小? 謝謝! :)
如果你知道字體大小12是你的350像素寬,那麼也許做一個小試驗和錯誤,在這個例子中可以說字號20是適合你的1728px寬度正確的。我們的12,13,14,15,16,17,18,19和20在這種情況下是1378px您的最大寬度和最小寬度之間的差可能的字體大小,讓除以可能的字體大小(這是9),因此對於每個153px的步驟,大致需要將字體大小增加1。邏輯應該堅持,但請調整確切的變量以適合您的項目。 :) – pokeybit