Pdflib旋转当前左下角的图像或文本等对象。 它可能围绕中心旋转物体?
我尝试了图像对象的position = {center}选项:
$pdf->fit_image($image, $x, $y, 'fitmethod=meet boxsize={'.$w.' '.$h.'} rotate='.($deg).' position={center}')
并计算文本对象的x,y坐标:
$cx = $x + ($w / 2);
$cy = $y + ($h / 2);
$theta = $deg * pi() / 180;
$rx = $x * cos($theta) - $y * sin($theta);
$ry = $x * sin($theta) + $y * cos($theta);
$y = $ry + $cy;
$x = $rx + $cx;
答案 0 :(得分:0)
上面的解决方案用数学方法计算用于绘制图像的新[左,下]角,但在生成此点时出现了一些问题,因为图像中心[x1,y1]在之后不一样,因为在图像绘制过程中发生了一些奇怪的翻译:
考虑[x0,y0] [左,下]角,[x1,y1]图像中心,[x2,y2]旋转前的图像中心点和[xr,yr]新[左,底部角落
$x0 = $left;
$x1 = $x0 + $width/2.0;
$y0 = $bottom;
$y1 = $y0 + $height/2.0;
$x2 = ($x1 - $x0)*cos($alpha) - ($y1 - $y0)*sin($alpha) + $x0;
$dx = $x2 - $x1;
$y2 = ($x1 - $x0)*sin($alpha) + ($y1 - $y0)*cos($alpha) + $y0;
$dy = $y2 - $y1;
$xr = $x0 - $dx;
$yr = $y0 - $dy;
如果您尝试将图像中心转换为[0,0]并使用其他代码进行旋转:
$x0 = $left;
$x1 = $x0 + $width/2.0;
$y0 = $bottom;
$y1 = $y0 + $height/2.0;
$xr = ($x0 - $x1)*cos($alpha) - ($y0 - $y1)*sin($alpha) + $x1;
$yr = ($x0 - $x1)*sin($alpha) + ($y0 - $y1)*cos($alpha) + $y1;
显示了相同的结果。
我不知道这个问题的原因是怎么回事。请一些身体帮助!