2016-11-25 1 views
0

H Jungs,PHP Bild Crop von oben, unten, links und rechts

Ich bin ui = sing diesen Code zum Hochladen und Zuschneiden von Bildern. Handlich, wenn ich es ursprünglich zusammenstellte, war das Zentrum der Ernte in der Mitte des Bildes und es funktioniert prächtig!

Ich möchte die Funktionalität erhöhen, indem Sie die Option zum Zuschneiden hinzufügen, anstatt einen zentrierten Bildausschnitt von oben oder links oder unten zu beschneiden. Dies würde aus Radioboxen auf der vorherigen Seite ausgewählt werden.

Ich habe einige ziemlich komplexe Wege gesehen, aber ich fragte mich, ob es einen einfachen Weg gab, es zu erreichen, irgendwelche Gedanken? Vielen Dank.

$handle->image_resize   = true; 
$handle->image_ratio_crop  = true; 
$handle->image_convert   = 'jpg'; 
$handle->image_x    = $x; 
$handle->image_y    = $y; 
$handle->jpeg_quality   = 75; 
$handle->Process($dir_dest); 

Von der Form auf der vorherigen Seite:

<label for="artwork">Banner Artwork</label> 
<div class="input-group upload-crop"> 
    <input class="upload-button" accept="image/jpg,image/png,image/jpeg,image/gif" name="<?=$strNameInput?>" id="<?=$strNameInput?>" type="file" /> 
    <label><strong>Crop from:</strong></label> 
    <label for="centre">Centre</label><input checked type="radio" id="centre" name="crop" value="centre" /> 
    <label for="right">Right</label><input type="radio" id="right" name="crop" value="right" /> 
    <label for="left">Left</label><input type="radio" id="left" name="crop" value="left" /> 
    <label for="top">Top</label><input type="radio" id="top" name="crop" value="top" /> 
    <label for="bottom">Bottom</label><input type="radio" id="bottom" name="crop" value="bottom" /> 
</div> 

Antwort

0

es gefunden! Ich benutzen eine POST-Variable Ernte (aus der Radio-Buttons) genannt, wenn keine Radiobuttons gewählt wurden es die Ernte Mitte, wenn es nicht verwendet T, B, L oder R

$strCrop = $_POST['crop']; 

    $handle->image_resize   = true; 
    if ($strCrop == '') { 
     $handle->image_ratio_crop  = true; 
    } else { 
     $handle->image_ratio_crop  = $strCrop; 
    } 
    $handle->image_convert   = 'jpg'; 
    $handle->image_x    = $x; 
    $handle->image_y    = $y; 
    $handle->jpeg_quality   = 75; 
    $handle->Process($dir_dest); 

Es verwendet eine Phantasie Bootstrap-Schaltfläche Durchsuchen jetzt:

<div class="btn btn-default btn-file pull-left"> 
     Browse<input class="upload-button" style="display:none" accept="image/jpg,image/png,image/jpeg,image/gif" name="<?=$strNameInput?>" id="<?=$strNameInput?>" type="file" /> 
    </div> 
    <label><strong>Image crop:</strong></label> 
    <input checked type="radio" id="centre" name="crop" value="" /> 
    <label for="centre">Centre</label> 
    <input type="radio" id="right" name="crop" value="R" /> 
    <label for="right">Right</label> 
    <input type="radio" id="left" name="crop" value="L" /> 
    <label for="left">Left</label> 
    <input type="radio" id="top" name="crop" value="T" /> 
    <label for="top">Top</label> 
    <input type="radio" id="bottom" name="crop" value="B" /> 
    <label for="bottom">Bottom</label> 
Verwandte Themen