제목 | 섬네일 이미지 작업중 이미지 상하반전이 안됩니다... | ||
---|---|---|---|
글쓴이 | boorangza | 작성시각 | 2016/07/26 17:20:06 |
|
|||
코드이그나이터 3.0 버전을 사용중입니다. 섬네일 이미지 작업을 하고있습니다. 정사각형의 섬네일을 만드는 작업을 하려고합니다. 이론상으론 예를 들어 150 x 50 인 이미지가 있다고 한다면 정사각형의 섬네일이 되기위하여 양옆의 50픽셀씩을 잘라야 하는상황입니다. 때문에 왼쪽에서 50을 자르고 이미지를 반전하여 50을 자르는 식으로 프로그래밍을 하였습니다. 라이브러리는 imagemagick 을 사용하고있습니다. crop기능과 resize기능 rotate 기능 모두 잘 작동합니다. 그런데 50 x 150 인 작업물을 작업할때 문제가 발생합니다. rotate기능중 상하 반전기능에서 자꾸 아무 반응이 없습니다. gd2라이브러리를 사용할경우 잘 작동하지만 이미지가 겹쳐 생성되고 이미지가 깨지는현상이 발생합니다. 때문에 imagemagick 라이브러리를 사용하게되었습니다. 아이러니한건 좌우반전은 잘됩니다... $this->load->library('image_lib'); if(!$this->upload->do_upload("user_file")){ $error = "1"; return $error; } else { $data = $this->upload->data(); list($w, $h) = getimagesize($dir_name.'/'.$data['file_name']); if($w > $h){ $w = ($w - $h)/2; $h = '0'; } else { $w = '0'; $h = ($h - $w)/2; } $config['image_library'] = 'imagemagick'; $config['library_path'] = '/usr/bin/'; $config['source_image'] = $dir_name.'/'.$data['file_name']; $config['x_axis'] = $w; $config['y_axis'] = $h; $this->image_lib->initialize($config); if ( ! $this->image_lib->crop()) { echo $this->image_lib->display_errors(); } else { $config['image_library'] = 'ImageMagick'; $config['library_path'] = '/usr/bin/'; $config['source_image'] = $dir_name.'/'.$data['file_name']; $config['rotation_angle'] = 'hor'; $this->image_lib->initialize($config); if ( ! $this->image_lib->rotate()) { echo $this->image_lib->display_errors(); } else { $config['image_library'] = 'ImageMagick'; $config['library_path'] = '/usr/bin/'; $config['source_image'] = $dir_name.'/'.$data['file_name']; $config['rotation_angle'] = 'vrt'; $this->image_lib->initialize($config); if ( ! $this->image_lib->rotate()) { echo $this->image_lib->display_errors(); } } }
위와같은 코드로 사용중이고 $config['rotation_angle'] = 'hor'; 는 작동하는데 $config['rotation_angle'] = 'vrt'; 은 작동하지 않습니다... 왜일까요... 이미지 라이브러리도 직접가서 소스를 살펴보고 이런저런 방법을 알아보았지만 답이 나오지않아 이렇게 도움을 요청드립니다.. ㅠㅠ |
|||
다음글 | 안녕하세요 ciboard로 공부 중인 사람입니다. (1) | ||
이전글 | 코드이그나이터 예제 샘플소스 구할만한 곳이 없을까요? (1) | ||
boorangza
/
2016/07/28 15:01:28 /
추천
0
|
정답인지는 모르겠지만 image_lib.php 안에
imagemagick 소스부분에서 상하반전에대한 소스가 없는것 같아서 추가하는 식으로 해결해보았습니다.
*시존소스
*수정소스