“图像裁剪/调整大小”返回选定图像的更多部分。PHP

“图像裁剪/调整大小”返回选定图像的更多部分。PHP,php,Php,我正在创建一个图像大小调整工具。选择etc时使用JavaScript,然后将值发送到PHP。这样做很好。但是,图像的大小没有正确调整。新图像获得正确的宽度/高度,但是,图像的选定部分将被“缩放”,并返回与选定部分相比更多的图像。下面的图片是一个例子 调整大小前的图像宽度/高度 宽度:280px 高度:210像素 调整细节大小 输出图像 此图始终帮助我: 除此之外,我预计你的JS穿过的原始宽度为62.18745,高度为69.87505 如果在此之后需要缩小图像比例,则必须根据需要调整新的宽度

我正在创建一个图像大小调整工具。选择etc时使用JavaScript,然后将值发送到PHP。这样做很好。但是,图像的大小没有正确调整。新图像获得正确的宽度/高度,但是,图像的选定部分将被“缩放”,并返回与选定部分相比更多的图像。下面的图片是一个例子

调整大小前的图像宽度/高度

宽度:280px 高度:210像素

调整细节大小

输出图像


此图始终帮助我:

除此之外,我预计你的JS穿过的原始宽度为62.18745,高度为69.87505


如果在此之后需要缩小图像比例,则必须根据需要调整新的宽度和高度值。

此图始终有助于我:

除此之外,我预计你的JS穿过的原始宽度为62.18745,高度为69.87505


如果在此之后需要缩小图像的比例,则必须根据需要调整新的宽度和高度值。

查看imagecopyresampled()的参数我没有发现任何错误?我做错了什么?看看你关于imagecopyresampled()的论点,我找不到任何错误?我做错了什么?我误解了imagecopyresampled()函数。我意识到我必须首先用原始大小调整图像的大小。然后复制我想要的部分,并从中生成一个新的图像。这个图表总是帮助我:哦,看,我先在评论中回答了,但没有得到任何分数。为什么这么麻烦?我误解了imagecopyresampled()函数。我意识到我必须首先用原始大小调整图像的大小。然后复制我想要的部分,并从中生成一个新的图像。这个图表总是帮助我:哦,看,我先在评论中回答了,但没有得到任何分数。为什么要麻烦?
<?php

    $width = 163.094;
    $height = 148.5;
    $new_width = 62.18745;
    $new_height = 69.87505;

    $dst_left = 0;
    $dst_top = 0;
    $src_left = 49.15625;
    $src_top = 39.03125;

    header('Content-Type: image/png');

    // Create a empty image
    $new_image = imagecreatetruecolor($new_width, $new_height);

    // Set background transparent
    imagefill($new_image,0,0,0x7fff0000);

    // Create image
    $image = imagecreatefrompng("../../uploads/img/imageNX4jDQ.png");

    // Create new image
    imagecopyresampled($new_image, $image, $dst_left, $dst_top, $src_left, $src_top, $new_width, $new_height, $width, $height);

    // Keep transparency
    imageAlphaBlending($new_image, true);
    imageSaveAlpha($new_image, true);

    // Output
    $test = imagepng($new_image, "../../uploads/img/test.png");

    $test;

?>