[請益] GD畫字問題

作者: buffalobill (水牛比爾)   2014-09-30 12:03:42
這是我網站的gd_info():
http://miko.tw/~buffalobill/gdtest/gd_info.php
我寫了一個用GD載入思源字體畫字的程式:
http://miko.tw/~buffalobill/gdtest/index.php
但是o的右邊會被吃掉
我不知道是哪邊出的問題
http://miko.tw/~buffalobill/gdtest/index.php?input=A
"A"是沒問題的
http://miko.tw/~buffalobill/gdtest/index.php?input=R
但是R就會被吃掉
http://miko.tw/~buffalobill/gdtest/index.php?arial=on&input=R
換成arail字體也是一樣
以下是我的原始碼:
不知道是哪裡有算錯,還是其它資訊要判斷
<?php
$point = 300;
$pixel = $point * 72 / 96; //point size is 72 dpi, while GD is 96 dpi
$font_file = './NotoSansCJKtc-Medium.otf'; //使用思源字體
if(ISSET($_REQUEST["arial"])){$font_file="arial.ttf";}
$input = "Hello";
if(ISSET($_REQUEST["input"])){ $input = $_REQUEST["input"];}
$bbox = imageftbbox($pixel, 0, $font_file, $input);
$img_width = abs($bbox[2] - $bbox[0]);
$img_height = abs($bbox[7] - $bbox[1]);
$myimg = imagecreate($img_width, $img_height);
$bg_colour = imagecolorallocate( $myimg, 255, 44, 44 );
$text_colour = imagecolorallocate( $myimg, 13, 12, 8 );
imagefilledrectangle($myimg, 0, 0, $img_width, $img_height, $bg_colour);
$x = $bbox[6] * -1;
$y = $bbox[7] * -1;
imagefttext($myimg, $pixel, 0, $x, $y, $text_colour, $font_file, $input);
header('Content-Type: image/png');
imagepng($myimg);
imagedestroy($myimg);
?>
作者: hit1205 (幫你把勇氣裝滿)   2014-10-01 17:15:00
http://goo.gl/59zgo1 這邊有相關的討論,不過最後的結論似乎是故意讓圖在寬度上變大,最後再切掉周空白 Orz周圍的空白 Orz 底下也有人找出 GD 的原始計算方式http://goo.gl/Vjdc3H 裡頭提到 "這方法取的是 controlbox, 近似於實際的外框, 但某些情況會比實際外框小"
作者: buffalobill (水牛比爾)   2014-10-02 13:48:00
結果我讓圖變大再用imagecropauto,底下多一條黑線…https://bugs.php.net/bug.php?id=67447從一個bug跳到另一個bug...Orz

Links booklink

Contact Us: admin [ a t ] ucptt.com