首页 > 解决方案 > imagemagick粘贴图像上的比例不正确

问题描述

我有比例问题。

在这里,您可以正确看到代码输出,左上角的圆圈和文本对齐。

http://ec2-3-14-255-196.us-east-2.compute.amazonaws.com/genphoto/example1.png

在这里,您可以看到更大的图像的相同结果,该图像仍然支持圆圈和文本,但粘贴的图像输出显示得更小。

http://ec2-3-14-255-196.us-east-2.compute.amazonaws.com/genphoto/example2.png

这是我的代码:

<?php
require_once("vendor/autoload.php");

// create imagine interface
$imagine = new \Imagine\Gd\Imagine();
$image = $imagine->open("new.png");

// paste and resize circle
$image2 = $imagine->open("circle.png");
$image2->resize(new \Imagine\Image\Box(250,250));
$image->paste($image2,new \Imagine\Image\Point(0,0));

//  add text
$Palette = new \Imagine\Image\Palette\RGB();
$TextColor = $Palette->color('#000', 100);
$TextFont= new \Imagine\Gd\Font("./thorne_shaded.ttf",13,$TextColor);
$TextBox = $TextFont->box( "test texte" );
$TextCenterPosition = new \Imagine\Image\Point\Center( $TextBox );
$CenteredTextPosition = new \Imagine\Image\Point(35,100);
$image->draw()->text("test text",$TextFont,$CenteredTextPosition);

// save image
$image->save("example2.png");

我怎样才能做到这一点,以便我可以将任何图像传递到代码中并且结果将相等(看起来像示例 1)我确定它是一种数学方法,但我无法弄清楚算法(也许是纵横比?)

标签: phpimageimagemagick

解决方案


推荐阅读