2017-12-28 29 views
0

私は画像をトリミングするためにGUIとしてクロッパーを使用しています。 クロッパーは、画像の上端と左端からXとYの位置とその結果の幅と高さを与えます。私はこの数字を隠された入力フィールドに渡しています。 CodeIgniterのでは私はこのコードで画像をトリミングするためのImageMagickを使用しています:100x500 + 10 + 10 -crop:ImageMagickのこのImage CodeIgniterとCropperを使用したクロッピング

$cmd = $this->library_path.' -quality '.$this->quality; 
/* ... */ 
if ($action === 'crop') 
{ 
    $cmd .= ' -crop '.$this->width.'x'.$this->height.'+'.$this->x_axis.'+'.$this->y_axis; 
} 
/* ... */ 
$cmd .= ' '.escapeshellarg($this->full_src_path).' '.escapeshellarg($this->full_dst_path).' 2>&1'; 
/* ... */ 
@exec($cmd, $output, $retval); 

ようなコードを使用し

$this->load->library('image_lib'); 
$config['image_library'] = 'imagemagick'; 
$config['library_path'] = '/Applications/MAMP/Library/bin/'; 
$config['source_image'] = "upload/".$data['image']['file_name']; 
$config['x_axis'] = $post['dataX']; 
$config['y_axis'] = $post['dataY']; 
$config['width'] = $post['dataWidth']; 
$config['height'] = $post['dataHeight']; 

$this->image_lib->initialize($config); 

if (! $this->image_lib->crop()) { 
    echo $this->image_lib->display_errors(); 
} 

基本的にラインがあります。 この行は4つの軸で画像をトリミング:

  1. 作物:$幅でX軸:トップ
  2. 作物から10pxのにY軸:左
  3. 作物から10pxのにX軸右
  4. 作物から-100:

    :$高さ-500のY軸下

からは、さらに私は、私のデータベースに新しい次元を保存します

クロップ後、ファイルのサイズとデータベースの値を比較できます。私の作物のアスペクト比を変更しない限り、値は同じです。 アスペクト比を変更すると、画像は古いアスペクト比で収穫されます。 私はその理由を理解できません。

もっとコードが必要な場合は教えてください。 $の設定[「maintain_ratioを」]:

+0

ああ私の悪いをご覧ください....私はちょうど設定する必要があります= FALSE; – PhilHarmonie

答えて

0

詳細Ckick hereためこの

$config = array(
'source_image' => $upload_path.$image_data['file_name'], 
'maintain_ratio' => FALSE, 
'width' => 220, 
'height' => 150, 
'x_axis' => 350, 
'y_axis' => 50 
); 
$this->image_lib->clear(); 
$this->image_lib->initialize($config); 
$this->image_lib->crop(); 

のようなあなたの設定ファイルに変更して、例

関連する問題