Changeset 20384 for trunk/wp-admin/includes/image.php
- Timestamp:
- 04/06/2012 08:47:24 PM (14 years ago)
- File:
-
- 1 edited
-
trunk/wp-admin/includes/image.php (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-admin/includes/image.php
r19687 r20384 44 44 * @return string|WP_Error|false New filepath on success, WP_Error or false on failure. 45 45 */ 46 function wp_crop_image( $src_file, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) { 47 if ( is_numeric( $src_file ) ) // Handle int as attachment ID 48 $src_file = get_attached_file( $src_file ); 49 50 $src = wp_load_image( $src_file ); 51 52 if ( !is_resource( $src ) ) 46 function wp_crop_image( $src, $src_x, $src_y, $src_w, $src_h, $dst_w, $dst_h, $src_abs = false, $dst_file = false ) { 47 if ( is_numeric( $src ) ) { // Handle int as attachment ID 48 $src_file = get_attached_file( $src ); 49 if ( ! file_exists( $src_file ) ) { 50 // If the file doesn't exist, attempt a url fopen on the src link. 51 // This can occur with certain file replication plugins. 52 $post = get_post( $src ); 53 $src = load_image_to_edit( $src, $post->post_mime_type, 'full' ); 54 } else { 55 $src = wp_load_image( $src_file ); 56 } 57 } else { 58 $src = wp_load_image( $src_file ); 59 } 60 61 if ( ! is_resource( $src ) ) 53 62 return new WP_Error( 'error_loading_image', $src, $src_file ); 54 63 … … 60 69 } 61 70 62 if ( function_exists('imageantialias'))71 if ( function_exists( 'imageantialias' ) ) 63 72 imageantialias( $dst, true ); 64 73 … … 71 80 72 81 $dst_file = preg_replace( '/\\.[^\\.]+$/', '.jpg', $dst_file ); 82 83 // The directory containing the original file may no longer exist when 84 // using a replication plugin. 85 wp_mkdir_p( dirname( $dst_file ) ); 73 86 74 87 if ( imagejpeg( $dst, $dst_file, apply_filters( 'jpeg_quality', 90, 'wp_crop_image' ) ) ) … … 340 353 return apply_filters('file_is_displayable_image', $result, $path); 341 354 } 355 356 function load_image_to_edit($post_id, $mime_type, $size = 'full') { 357 $filepath = get_attached_file($post_id); 358 359 if ( $filepath && file_exists($filepath) ) { 360 if ( 'full' != $size && ( $data = image_get_intermediate_size($post_id, $size) ) ) { 361 $filepath = apply_filters('load_image_to_edit_filesystempath', path_join( dirname($filepath), $data['file'] ), $post_id, $size); 362 } 363 } elseif ( function_exists('fopen') && function_exists('ini_get') && true == ini_get('allow_url_fopen') ) { 364 $filepath = apply_filters('load_image_to_edit_attachmenturl', wp_get_attachment_url($post_id) , $post_id, $size); 365 } 366 367 $filepath = apply_filters('load_image_to_edit_path', $filepath, $post_id, $size); 368 if ( empty($filepath) ) 369 return false; 370 371 switch ( $mime_type ) { 372 case 'image/jpeg': 373 $image = imagecreatefromjpeg($filepath); 374 break; 375 case 'image/png': 376 $image = imagecreatefrompng($filepath); 377 break; 378 case 'image/gif': 379 $image = imagecreatefromgif($filepath); 380 break; 381 default: 382 $image = false; 383 break; 384 } 385 if ( is_resource($image) ) { 386 $image = apply_filters('load_image_to_edit', $image, $post_id, $size); 387 if ( function_exists('imagealphablending') && function_exists('imagesavealpha') ) { 388 imagealphablending($image, false); 389 imagesavealpha($image, true); 390 } 391 } 392 return $image; 393 }
Note: See TracChangeset
for help on using the changeset viewer.