PHP
2014.07.10 16:17

Simple GD example

조회 수 7808 댓글 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
번호 분류 제목 날짜 조회 수 추천 수
401 개념 HLS(HTTP Live streaming) 2012.02.01 32896 0
400 C 거품정렬 Bubble Sort file 2005.08.10 32684 0
399 LINUX |(파이프), grep 명령어에 대해서 2006.02.06 32554 17
398 LINUX [Shell Script] 글자 속성, 색깔 지정 2014.09.23 32224 0
397 개념 UDS (Unix Domain Socket) 2012.02.28 32180 0
396 일반 cmd.exe 명령 도움말 2005.08.31 31980 0
395 Pi 시프트 레지스터 사용방법 (Shift Register, 74HC595, 74HC165) 2016.11.21 31503 0
394 Android [GIT] git stash 사용하기 2012.10.22 31273 0
393 C 개선된 Trim() - trim(), trim_right(), trim_left() 2005.08.05 31140 0
392 MFC 레지스트리 쓰기, 읽기 함수 정리 2011.07.26 31127 0
391 Pi 라즈베리파이 3, Spec & PIN Map file 2017.02.06 30611 0
390 Android CPU사용률은 /proc/stat를 참고 2013.05.07 30574 0
389 Android Android Property 사용하기 2012.07.17 29724 0
388 LINUX [Shell Script] Shell 스크립트에서 매개변수 치환 2014.09.23 29698 0
387 일반 배치파일(bat)에서 날짜-시간을 파일 명으로 쓰기 2014.10.10 29283 0
목록
Board Pagination ‹ Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 34 Next ›
/ 34

나눔글꼴 설치 안내


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

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

설치 취소

Designed by sketchbooks.co.kr / sketchbook5 board skin

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5

Sketchbook5, 스케치북5