画像の一部を使用して画像をトリミングしようとしていますが、その周りに「余分な」スペースを追加することもできます。ただし、トリミングされた画像が「余分な」スペースに黒いスペースを生成する場合、透明にしたい場合。
クロッパー JavaScript を使用してトリミング座標を取得する: https://fengyuanchen.github.io/cropperjs/
次に、PHP imagecopyresample
d を使用して画像をサイズに合わせてトリミングします。
画像のトリミングは問題ありませんが、画像を元のサイズよりも大きくトリミングすると、画像の周りに黒いスペースが追加されるため、これを透明に変更したいと考えています。
トリミングされた画像で黒いピクセルを検索して透明に変換することを検討しましたが、画像に黒が含まれているとこの考えは壊れます
Current php code: (asuming file type is PNG)
//$cropData
//is an array of data passed through from the cropper containing the original width and height, new width and height and the cropping x and y coordinates.
//passed in image to be cropped
$current_image = "/folder/example.jpg";
//image file location of cropped image
$image_name = "/folder/cropped_example.jpg";
//create blank image of desired crop size
$width = $cropData["width"];
$height = $cropData["height"];
$background = imagecreatetruecolor($width, $height);
//crop coordinates
$crop_x = $cropData["x"];
$crop_y = $cropData["y"];
//create resouce image of current image to be cropped
$image = imagecreatefrompng($current_image);
//crop image
imagecopyresampled($background, $image, 0, 0, $crop_x, $crop_y, $width, $height, $width, $height)){
imagepng($background, $image_name);
//File Uploaded... return to page