php - 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)我确定它是一种数学方法,但我无法弄清楚算法(也许是纵横比?)
解决方案
推荐阅读
- python - 如何将非显式给定的字符串拆分为两行或多行?
- php - 奏鸣曲管理包中的批量删除是否有类似预删除的东西
- android - 使用 mapBox tile 作为 osmdroid tileSource
- vagrant - 如何使用 pybossa vagrant 分析代码
- c++ - SFML - 无法加载图像 - 无法打开文件 - LINUX
- android - 如何在非起始目的地中退出应用程序?
- ajax - 在后端使用 Laravel 将接收到的数据从 API GET 请求发送到数据库
- java - 如何清除 StringIndexOutOfBoundsException
- angular - Angular 动态形式如何绑定到变量;
- android - 应用程序无法安装 Android 9 (Pie)