Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




image_edit_apply_changes [ WordPress Function ]

image_edit_apply_changes ( $img, $changes )
Defined at:



No description yet.

Source


<?php
function image_edit_apply_changes($img$changes) {

    if ( !
is_array($changes) )
        return 
$img;

    
// expand change operations
    
foreach ( $changes as $key => $obj ) {
        if ( isset(
$obj->r) ) {
            
$obj->type 'rotate';
            
$obj->angle $obj->r;
            unset(
$obj->r);
        } elseif ( isset(
$obj->f) ) {
            
$obj->type 'flip';
            
$obj->axis $obj->f;
            unset(
$obj->f);
        } elseif ( isset(
$obj->c) ) {
            
$obj->type 'crop';
            
$obj->sel $obj->c;
            unset(
$obj->c);
        }
        
$changes[$key] = $obj;
    }

    
// combine operations
    
if ( count($changes) > ) {
        
$filtered = array($changes[0]);
        for ( 
$i 0$j 1$j count($changes); $j++ ) {
            
$combined false;
            if ( 
$filtered[$i]->type == $changes[$j]->type ) {
                switch ( 
$filtered[$i]->type ) {
                    case 
'rotate':
                        
$filtered[$i]->angle += $changes[$j]->angle;
                        
$combined true;
                        break;
                    case 
'flip':
                        
$filtered[$i]->axis ^= $changes[$j]->axis;
                        
$combined true;
                        break;
                }
            }
            if ( !
$combined )
                
$filtered[++$i] = $changes[$j];
        }
        
$changes $filtered;
        unset(
$filtered);
    }

    
// image resource before applying the changes
    
$img apply_filters('image_edit_before_change'$img$changes);

    foreach ( 
$changes as $operation ) {
        switch ( 
$operation->type ) {
            case 
'rotate':
                if ( 
$operation->angle != )
                    
$img _rotate_image_resource($img$operation->angle);
                break;
            case 
'flip':
                if ( 
$operation->axis != )
                    
$img _flip_image_resource($img, ($operation->axis 1) != 0, ($operation->axis 2) != 0);
                break;
            case 
'crop':
                
$sel $operation->sel;
                
$scale _image_get_preview_ratioimagesx($img), imagesy($img) ); // discard preview scaling
                
$img _crop_image_resource($img$sel->$scale$sel->$scale$sel->$scale$sel->$scale);
                break;
        }
    }

    return 
$img;
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

Kullanýcý Tartýþmalarý [ wordpress.org ]

- Bulunamadý -

Yeni bir konu yaz ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics