PHP
2014.07.10 16:17

Simple GD example

조회 수 7932 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print
?

단축키

Prev이전 문서

Next다음 문서

+ - Up Down Comment Print

Resize an image

<?php
// Set the path to the image to resize
$input_image "House.jpg";
// Get the size of the original image into an array
$size getimagesize$input_image );
// Set the new width of the image
$thumb_width "200";
// Calculate the height of the new image to keep the aspect ratio
$thumb_height = ( int )(( $thumb_width/$size[0] )*$size[1] );
// Create a new true color image in the memory
$thumbnail ImageCreateTrueColor$thumb_width$thumb_height );
// Create a new image from file 
$src_img ImageCreateFromJPEG$input_image );
// Create the resized image
ImageCopyResampled$thumbnail$src_img0000$thumb_width$thumb_height$size[0], $size[1] );
// Save the image as resized.jpg
ImageJPEG$thumbnail"resized.jpg" );
// Clear the memory of the tempory image 
ImageDestroy$thumbnail );
?>

Change a png to a jpg

Note: Any transparency is lost in this case as jpg does not support transparency
You can change from different formats by changing the imagecreatefrompng and the imagejpeg functions.

<?php
// Create a new image in the memory from the file 
$png_image imagecreatefrompng"input.png" );
// Save the image as output.jpg
imagejpeg$png_image"output.jpg" );
// Clear the memory of the tempory image 
imagedestroy$png_image );
?>

Crop an image

<?php
// Crop dimensions.
$width 100;
$height 100;
// Set the path to the image to resize
$input_image "House.jpg";
// Get the size of the original image into an array
$size getimagesize$input_image );
// Prepare canvas
$canvas imagecreatetruecolor$width$height );
// Create a new image in the memory from the file 
$cropped imagecreatefromjpeg$input_image );
// Prepare image  crop - center the crop on the image
$newwidth $size[0] / 2;
$newheight $size[1] / 2;
$cropLeft = ( $newwidth/) - ( $width/);
$cropHeight = ( $newheight/) - ( $height/);
// Generate the cropped image
imagecopyresized$canvas$cropped0,0$cropLeft$cropHeight$size[0], $size[1], $newwidth$newheight );
// Save the cropped image as cropped.jpg
imagejpeg$canvas"cropped.jpg" );
// Clear the memory of the tempory images
imagedestroy$canvas );
imagedestroy$cropped );
?>

Rotate an image

<?php
// Set the path to the image to rotate
$input_image "House.jpg";
//How many degrees you wish to rotate
$degrees 180;
// Create the canvas
$canvas imagecreatefromjpeg$input_image ) ;
// Rotates the image
$rotate imagerotate$canvas$degrees) ;
// Save the image as output.jpg
imagejpeg$rotate"output.jpg" );
// Clear the memory of the tempory image
imagedestroy$canvas );
?>

Watermark an image

<?php
// Create the canvas
$canvas imagecreate200100 );  
// Define the colours to use
$black imagecolorallocate$canvas00);  
$white imagecolorallocate$canvas255255255 );  
// Create a rectangle and fill it white
imagefilledrectangle$canvas00200100$white );  
// The path to the font
$font "verdana.ttf"
// The text to use 
$text "House"
// The font size 
$size "30";   
// Set the path to the image to watermark
$input_image "House.jpg"
// Calculate the size of the text 
// If php has been setup without ttf support this will not work.
$box imagettfbbox$size0$font$text );  
$x = (200 - ($box[2] - $box[0])) / 2;  
$y = (100 - ($box[1] - $box[7])) / 2;  
$y -= $box[7];  
// Add the text to the image
imageTTFText$canvas$size0$x$y$black$font$text );  
// Make white transparent
imagecolortransparent $canvas$white );  
// Save the text image as temp.png
imagepng$canvas"temp.png" );  
// Cleanup the tempory image canvas.png
ImageDestroy$canvas );  
// Read in the text watermark image
$watermark imagecreatefrompng"temp.png" );  
// Returns the width of the given image resource  
$watermark_width imagesx$watermark );
//Returns the height of the given image resource    
$watermark_height imagesy$watermark );    
$image imagecreatetruecolor$watermark_width$watermark_height );    
$image imagecreatefromjpeg$input_image );
// Find the size of the original image and read it into an array      
$size getimagesize$input_image );  
// Set the positions of the watermark on the image
$dest_x $size[0] - $watermark_width 100;    
$dest_y $size[1] - $watermark_height 200;    
imagecopymerge($image$watermark$dest_x$dest_y00$watermark_width$watermark_height50);   
// Save the watermarked image as watermarked.jpg 
imagejpeg$image"watermarked.jpg" );
// Clear the memory of the tempory image     
imagedestroy$image );    
imagedestroy$watermark );    
// Delete the text watermark image
unlink"temp.png");  
?>

Create some text as an image

<?php
// Create the canvas
$canvas imagecreate15080 );
// First colour - this will be the default colour for the canvas
$light_blue imagecolorallocate$canvas176226255 );
// The second colour - to be used for the text
$black imagecolorallocate$canvas00);
// Path to the font you are going to use
$font "verdana.ttf";
// Text to write
$text "Text";
// Font size
$size "40";
// Add the text to the canvas
imageTTFText$canvas$size01560$black$font$text );
// Save as Text.jpg
imagejpeg$canvas"Text.jpg" );
// Clear the memory of the tempory image 
ImageDestroy$canvas );
?>

Dreamy의 코드 스크랩

내가 모으고 내가 보는

List of Articles
번호 분류 제목 날짜 조회 수 추천 수
326 LINUX [Shell Script] Bash 파일 유무 체크하는 방법과 파일 존재 검사 옵션 2017.05.16 21488 0
325 LINUX [Shell Script] Bash 실행결과를 변수에 담기 2017.05.16 13584 0
324 Python [Sconscript] Install method 2014.05.29 8655 0
323 PHP [PHP] .php 확장자 없이 URL 접속하기 2020.10.26 4811 0
322 일반 [PDK] PDK에서 난수 발생 함수 2006.05.04 37012 0
321 PHP [MySQL] 뷰 생성하기(VIEW 생성하기) 2022.10.12 1207 0
320 JAVA [Java] 자바에서 콜백(Callback) 구현하기 2017.03.15 26226 0
319 JAVA [JAVA] 람다식 기본 예제 1 (map, filter, reduce, collect) 2022.11.04 1457 0
318 HTML5 [Javascript] Promise 이해하기 2018.01.04 5915 0
317 HTML5 [Javascript] Javascript Patterns 요약 secret 2018.01.16 0 0
316 일반 [HTML] 복사해서 사용가능한 5개의 실용적인 List Style 예제 2015.11.03 7265 0
315 Android [GIT] git stash 사용하기 2012.10.22 31375 0
314 Android [Git] git add 취소하기, git commit 취소하기, git push 취소하기 2021.09.30 5693 0
313 Android [GIT 사용법] 초보자가 알아두면 좋을 명령어 정리 1 2011.12.26 66769 0
312 Android [GIT 사용법] 다른 branch와의 차이점 찾아보기 2012.08.16 21924 0
목록
Board Pagination ‹ Prev 1 ... 8 9 10 11 12 13 14 15 16 17 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5