| 제목 | 섬네일 이미지 작업중 이미지 상하반전이 안됩니다... | ||
|---|---|---|---|
| 글쓴이 | 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 소스부분에서 상하반전에대한 소스가 없는것 같아서 추가하는 식으로 해결해보았습니다.
*시존소스
*수정소스