我正在使用使用 GD 或 Imagemagick(在我的情况下为 GD)的干预图像库。
当我在本地机器上生成多张图片的 PNG 时,图像是使用 96dpi 生成的,但是当我将代码上传到服务器并使用相同的图像创建相同的合成时,我会得到一个 72dpi 的图像。这打破了我的计算,因为我需要该图像为 100 厘米 X 70 厘米。
我尝试将服务器上的 PHP 内存限制增加到 512MB(我在本地有 128MB)。
我不明白为什么dpi不同。
创建画布有更多逻辑,但这些是基本线条。
// Default size of final canvas 100x70cm
$canvasWidth = 3780;
$canvasHeight = 2646;
$offsetStep = 196;
// Create the canvas
$img_canvas = Image::canvas($canvasWidth, $canvasHeight, '#fff');
$imgPath = Image::make(storage_path() . '/clients/v1/' . $codigoCampaña . '/' . $image->folder_id . '/' . $image->image);
$img_canvas->insert($imgPath, 'top-left', $initialOffsetX, $initialOffsetY);
$img_canvas->save($previewPath . $previewSmallName, 100);
$img_canvas->destroy();