이미지에 회사마크 삽입 (투명한 회사마크)
페이지 정보
본문
//두개의 썸네일 파일 만들고 원본이미지에 회사 마크 삽입함...
function opt_fileup1($save_dir, $code, $image , $kind, $imgext, $sDirNo) // 640*480 1번이미지.....
{
$otimage = "./{$save_dir}_o/{$sDirNo}/{$code}o.{$imgext}"; // 원본이미지 올릴 디렉토리 및 파일명
$width1 = 65; // 첫번째 썸네일 사이즈.. 자연수로 입력할것..실력은 안됨
$height1 = 49;
//사이즈는 정수형만허용
//$Imgsize = GetImageSize("그림파일경로");
//$width4 = (int)$Imgsize[0];
$width2 = 133; // 두번째 썸네일 사이즈
$height2 = 100;
copy($image[tmp_name], "{$otimage}");
//JPG파일 포멧 썸네일 생성
if($imgext == 'jpg' || $imgext == 'jpeg'){
exec( "djpeg -pnm $otimage > './{$save_dir}_tmp/{$code}.pnm'" );
exec( "pnmscale -xsize='$width1' -ysize='$height1' './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일첫째디렉토리/파일명'" );
exec( "pnmscale -xsize='$width2' -ysize='$height2' './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일둘째디렉토리/파일명'" );
}
// gif파일포맷 썸네일 생성
if($imgext == 'gif' ){
exec( "giftopnm $otimage > ./{$save_dir}_tmp/{$code}.pnm");
exec( "pnmscale -xsize $width1 -ysize $height1 './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일첫째디렉토리/파일명''" );
exec( "pnmscale -xsize $width2 -ysize $height2 './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일둘째디렉토리/파일명''" );
}
// 회사 마크 삽입
$logoImgB = imagecreatefromgif(회사마크파일명);
if($imgext == 'gif'){
$image2 = imagecreatefromgif($otimage);
} else {
$image2 = imagecreatefromjpeg($otimage);
}
imageCopyMerge($image2, $logoImgB,2,2,0,0,357,70,100);
imagejpeg($image2,$otimage,70);
ImageDestroy($image2);
// 임시 파일들 삭제
unlink( "./{$save_dir}_tmp/{$code}.pnm" );
unlink($image[tmp_name]);
return $imgext;
}
#####################################
썸네일의 용량이 0으로 나오는 경우 하단의 파일 설치 요..
리눅스 프롬프트 상에서
#man pnmscale <- 그림사이즈 입력하는 방식 버젼에 따라 확인 요
#man djpeg
#man giftopnm
등을 입력해서 프로그램 설치 여부 및 사용법 확인할 것
function opt_fileup1($save_dir, $code, $image , $kind, $imgext, $sDirNo) // 640*480 1번이미지.....
{
$otimage = "./{$save_dir}_o/{$sDirNo}/{$code}o.{$imgext}"; // 원본이미지 올릴 디렉토리 및 파일명
$width1 = 65; // 첫번째 썸네일 사이즈.. 자연수로 입력할것..실력은 안됨
$height1 = 49;
//사이즈는 정수형만허용
//$Imgsize = GetImageSize("그림파일경로");
//$width4 = (int)$Imgsize[0];
$width2 = 133; // 두번째 썸네일 사이즈
$height2 = 100;
copy($image[tmp_name], "{$otimage}");
//JPG파일 포멧 썸네일 생성
if($imgext == 'jpg' || $imgext == 'jpeg'){
exec( "djpeg -pnm $otimage > './{$save_dir}_tmp/{$code}.pnm'" );
exec( "pnmscale -xsize='$width1' -ysize='$height1' './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일첫째디렉토리/파일명'" );
exec( "pnmscale -xsize='$width2' -ysize='$height2' './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일둘째디렉토리/파일명'" );
}
// gif파일포맷 썸네일 생성
if($imgext == 'gif' ){
exec( "giftopnm $otimage > ./{$save_dir}_tmp/{$code}.pnm");
exec( "pnmscale -xsize $width1 -ysize $height1 './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일첫째디렉토리/파일명''" );
exec( "pnmscale -xsize $width2 -ysize $height2 './{$save_dir}_tmp/{$code}.pnm' | cjpeg -progressive -optimize -smooth 20 -outfile './썸네일둘째디렉토리/파일명''" );
}
// 회사 마크 삽입
$logoImgB = imagecreatefromgif(회사마크파일명);
if($imgext == 'gif'){
$image2 = imagecreatefromgif($otimage);
} else {
$image2 = imagecreatefromjpeg($otimage);
}
imageCopyMerge($image2, $logoImgB,2,2,0,0,357,70,100);
imagejpeg($image2,$otimage,70);
ImageDestroy($image2);
// 임시 파일들 삭제
unlink( "./{$save_dir}_tmp/{$code}.pnm" );
unlink($image[tmp_name]);
return $imgext;
}
#####################################
썸네일의 용량이 0으로 나오는 경우 하단의 파일 설치 요..
리눅스 프롬프트 상에서
#man pnmscale <- 그림사이즈 입력하는 방식 버젼에 따라 확인 요
#man djpeg
#man giftopnm
등을 입력해서 프로그램 설치 여부 및 사용법 확인할 것
첨부파일
-
netpbm.zip (1.3M)
7회 다운로드 | DATE : 2021-02-09 11:42:00
- 이전글레이어 기본 21.02.09
- 다음글두개의 이미지를 투명하게 겹치는 함수 21.02.09
댓글목록
등록된 댓글이 없습니다.