我正在使用干预图像库,它使用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();
答案 0 :(得分:0)
浏览器会忽略DPI。 DPI不适用于网络布局。 DPI仅在印刷品方面很重要。专注于解决方案。这才是最重要的。
像素(“像素”的缩写)是显示数字图像的网格上的最小测量单位。 DPI测量这些像素或点在打印时的大小。
此外,浏览器无法以英寸或厘米为单位工作。它们以像素为单位。宽度和宽度高度。