ในการรับ URI อนุพันธ์ของรูปภาพสำหรับรูปภาพที่ใช้สไตล์รูปภาพเฉพาะ คุณสามารถใช้รหัสต่อไปนี้
// โหลด ImageStyle ตัวอย่างใน $image_style เช่นกับ
// $image_style = ImageStyle::load($id)
// $image_uri คือเส้นทาง/URI สำหรับรูปภาพที่ใช้สไตล์
ถ้า ($image_style->supportsUri($image_uri)) {
$derivative_uri = $style->buildUri($image_uri);
}
โปรดทราบว่าอนุพันธ์ของรูปภาพจะถูกสร้างขึ้นเฉพาะเมื่อ URL ส่งคืนจาก $image_style->buildURL($image_uri)
ถูกร้องขอ (จากเบราว์เซอร์) การสร้าง URI (หรือ URL) ไม่ได้สร้างภาพลอกเลียนแบบ จะส่งคืน URI (URL) สำหรับรูปภาพที่ยังไม่มีอยู่จริง
ในการตรวจสอบอนุพันธ์ของภาพสามารถสร้างได้ รหัสคล้ายกับที่ใช้จาก ImageStyleDownloadController::deliver()
ควรใช้.
ถ้า ($image_style->supportsUri($image_uri)) {
$derivative_uri = $style->buildUri($image_uri);
ถ้า (!file_exists($image_uri)) {
$path_info = pathinfo($image_uri);
$converted_image_uri = $path_info['dirname'] DIRECTORY_SEPARATOR $path_info['ชื่อไฟล์'];
ถ้า (file_exists($converted_image_uri)) {
$image_uri = $converted_image_uri;
}
}
$success = file_exists($derivative_uri) || $image_style->createDerivative($image_uri, $derivative_uri);
ถ้า ($ สำเร็จ) {
$image = Drupal::service('image.factory')->get($derivative_uri);
$uri = $image->getSource();
}
}