1

我正在使用使用 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();
4

1 回答 1

0

浏览器忽略 DPI。DPI 不适用于 Web 上的布局。DPI 仅在打印中很重要。专注于分辨率。这才是最重要的。

像素(“图片元素”的缩写)是显示数字图像的网格上的最小度量单位。DPI 测量这些像素或点在打印时的大小。

此外,浏览器不能以英寸或厘米为单位工作。它们以像素为单位。宽度和高度。

于 2015-12-02T02:19:42.477 回答