Варианты с разным масштабом:
1) http://easy[dot]uprinting[dot]com/getTex[dot][dot][dot]5&density=96
2) http://easy[dot]uprinting[dot]com/getTex[dot][dot][dot]&density=120
3) http://easy[dot]uprinting[dot]com/getTex[dot][dot][dot]&density=150
Вот что я нахамутал :
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $font = 'arial.ttf';
- $fontsize = 9;
- $density = 96;
- $_width = 2.45;
- $canvas = new Imagick();
- $draw = new ImagickDraw();
- if( $density < 2 )
- {
- $size = 2;
- }
- else
- {
- $size = $_width;
- }
- $draw->setFont($font);
- $draw->setFontSize($fontsize*$size);
- ///////
- $_string = '';
- foreach( $data as $word )
- {
- $string = $_string . ' ' . $word;
- $metrics = $canvas->queryFontMetrics($draw, $string);
- if( $metrics['textWidth'] > $width )
- {
- $_string .= $_string ? "\n" . $word : $word;
- }
- else
- {
- $_string .= $_string ? ' ' . $word : $word;
- }
- }
- ///////
- $metrics = $canvas->queryFontMetrics($draw, $_string);
- $draw->annotation(0, $metrics['ascender'], $_string);
- $canvas->newImage($width, $metrics['textHeight'], 'none');
- $canvas->setImageFormat('png');
- $canvas->drawImage($draw);
- //$canvas->resizeimage($width, $metrics['textHeight'], 20, 0.9, false);
- echo $canvas;