使用'FilePondPluginFileEncode'时,使用从隐藏字段传递来的数据裁剪图像时,是否有适当的PHP代码可使用? (我将Doka用作图像编辑器)https://pqina.nl/doka/?ref=filepond
当选择图像然后编辑裁剪时,以下选项将作为编码元数据从文件池中传递到隐藏字段中。 + base64图片字符串(https://pqina.nl/filepond/docs/patterns/plugins/file-encode/)
{"crop":{
"center":{"x":0.6019359981,"y":0.5843676986},
"rotation":0,
"zoom":1,
"aspectRatio":0.6567346851,
"flip":{"horizontal":false,"vertical":false},
"scaleToFit":true},
"image":{"width":225,"height":148,"orientation":-1},
"size":{"upscale":true,"mode":"cover","width":null,"height":null},
"output":{"type":null,"quality":null,"background":null},
"filter":null,
"color":{"contrast":{"value":1,"matrix":[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]},"
exposure":{"value":1,"matrix":[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]},"brightness":
{"value":0,"matrix":[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]},"saturation":
{"value":1,"matrix":[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]}
},"markup":[],
"colorMatrix":[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0]
}
提交时:这是我写给庄稼的东西。它可以裁剪,但是不能完全裁剪,因为我们从文件池doka图像编辑器中选择了]
<?php if (isset($file_format['metadata']['crop'])) { $im = new \Imagick($uploaded_file->getRealPath()); $aspectRatio = $file_format['metadata']['crop']['aspectRatio']; $crop_center_x = $file_format['metadata']['crop']['center']['x'];//percentage $crop_center_y = $file_format['metadata']['crop']['center']['y'];//percentage $scale = $file_format['metadata']['crop']['zoom']; //Doka formula for aspectRatio = height/width //scale to original size but this crop width and height is slightly larger that what we select //this may need some improvement $crop_width = ($im->getImageHeight()/$aspectRatio)/$scale; //width of crop selected $crop_height = ($im->getImageWidth()*$aspectRatio )/$scale; //height of crop selected //x_of_crop $x_center_crop = $im->getImageWidth() * $crop_center_x; //pixels from left to crop center $y_center_crop = $im->getImageHeight() * $crop_center_y; //pixels from top to crop center $x_left = $x_center_crop - ($crop_width/2);//left position of crop $y_top = $y_center_crop - ($crop_height/2);//top position of crop $im->cropImaxge($crop_width,$crop_height,$x_left,$y_top); file_put_contents($filePath, $im); $uploaded_file = new UploadedFile($filePath, $file_format['name'], null, null, true); } ?>
我们是正确执行此操作还是可以使用裁剪后的图像数据来更新base64字符串,所以我们不必在服务器端进行裁剪?
任何帮助将不胜感激。
使用'FilePondPluginFileEncode'时,使用从隐藏字段传递来的数据裁剪图像时,是否有适当的PHP代码可使用? (我将Doka用作图像编辑器)https:// ...
请记住在FilePond实例中使用imageEditEditor: Doka.create({})
时将FilePondPluginImageTransform,