0

我正在使用 PHP gd 扩展图像画布:

    $newimage = imagecreatetruecolor($imageWidth + 840, $imageHeight);
    $color = imagecolorallocate($newimage, 0, 0, 0);
    imagefill($newimage, 0, 0, $color);
    imagecopy($newimage, $image, 0, 0, 0, 0, $imageWidth, $imageHeight);

    //get extension of the cropped image
    $ext = end(explode('.' , $imageName));

    //timestamp it
    $timestamp = time();

    //rename the new image
    $fileName = rand() . $timestamp . '.' . $ext;

    //unlink old image
    unlink($src);

    //update the DB with new imagename
    $update = array('update' => $this->image->update($imageID, $fileName));

    //Set the path for the image
    $path = 'data/gallery/' . $galleryID . '/images/album/' . $fileName;

    //create the cropped image
    imagejpeg($newimage,$path,$jpeg_quality);

这按预期工作,画布向右扩展了 840 像素。我想做的是将画布向左扩展 840 像素。不知道如何做到这一点。

谢谢您的帮助。

4

1 回答 1

0

一旦我破译了所有参数,实际上非常简单。

imagecopy ( resource dest_image, resource source_image, int dest_x, int dest_y, int source_x, int source_y, int source_width, int source_height)
  • 您要复制到的目标图像

  • 您要从中复制的源图像

  • 您要复制到的 X 坐标

  • 要复制到的 Y 坐标

  • 您要从中复制的 X 坐标

  • 要从中复制的 y 坐标

  • 要复制的源图像的宽度(以像素为单位)

  • 要复制的源图像的高度(以像素为单位)

于 2013-01-10T00:32:20.433 回答