PHP
2014.07.10 16:17

Simple GD example

조회 수 7803 댓글 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 LINUX [Shell Script] 쉘 프로그래밍을 위한 명령어 file 2015.04.30 7321 0
400 LINUX bash 의 명령어 History 2015.01.20 7364 0
399 LINUX 리눅스 계정 목록 보기 2016.03.21 7380 0
398 LINUX 우분투(Ubuntu)에서 APM 웹서버 구축하기 2016.03.17 7416 0
397 Pi Simple DAC - PWM을 Voltage로 변환하는 회로 file 2016.11.21 7482 0
396 Android JNI에서 가변 인수(varargs) 쓰기 2014.08.04 7554 0
395 Pi ARDUINO multi function shield 핀정보 및 FND 소스 2016.11.21 7567 0
394 일반 VP9 코덱 2015.09.01 7590 0
393 Android gdb commands 2015.03.11 7663 0
392 JAVA 자바 프로그래머가 알아야할 10가지 이클립스 단축키 1 2015.10.27 7666 0
391 Pi 라즈베리파이 적외선(IR) 리모컨 송신/수신 - LIRC Library 2017.10.17 7731 0
» PHP Simple GD example 2014.07.10 7803 0
389 JAVA 현재시간 구하기 2015.10.21 7826 0
388 일반 NirCmd 사용법 2015.12.08 7837 0
387 일반 SQL Injection 우회 정리 2019.07.10 7988 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