PHP IMAGE REZISE

The bellow code resize the image to thumbnail size.

include("resize-class.php");

function save_image($thumb)
{

//thumb is image path
 if($thumb)
 {
 $resizeObj = new resize($thumb);
 // *** 2) Resize image (options: exact, portrait, landscape, auto, crop)
 $resizeObj -> resizeImage(120, 90, 'crop');
 // *** 3) Save image
 $thumbname=$guid."thumbnail.jpg";

 $resizeObj -> saveImage("Tempfolder/".$thumbname, 100);
}
}

resize-class.php

<?php

# ========================================================================#
 #
 # Author: Jarrod Oberto
 # Version: 1.0
 # Date: 17-Jan-10
 # Purpose: Resizes and saves image
 # Requires : Requires PHP5, GD library.
 # Usage Example:
 # include(&quot;classes/resize_class.php&quot;);
 # $resizeObj = new resize('images/cars/large/input.jpg');
 # $resizeObj -&gt; resizeImage(150, 100, 0);
 # $resizeObj -&gt; saveImage('images/cars/large/output.jpg', 100);
 #
 #
 # ========================================================================#
 Class resize
 {
 // *** Class variables
 private $image;
 private $width;
 private $height;
 private $imageResized;

function __construct($fileName)
 {
 // *** Open up the file
 $this-&gt;image = $this-&gt;openImage($fileName);

// *** Get width and height
 $this-&gt;width = imagesx($this-&gt;image);
 $this-&gt;height = imagesy($this-&gt;image);
 }

## --------------------------------------------------------

private function openImage($file)
 {
 // *** Get extension
 $extension = strtolower(strrchr($file, '.'));

switch($extension)
 {
 case '.jpg':
 case '.jpeg':
 $img = @imagecreatefromjpeg($file);
 break;
 case '.gif':
 $img = @imagecreatefromgif($file);
 break;
 case '.png':
 $img = @imagecreatefrompng($file);
 break;
 default:
 $img = false;
 break;
 }
 return $img;
 }

## --------------------------------------------------------

public function resizeImage($newWidth, $newHeight, $option=&quot;auto&quot;)
 {
 // *** Get optimal width and height - based on $option
 $optionArray = $this-&gt;getDimensions($newWidth, $newHeight, $option);

$optimalWidth = $optionArray['optimalWidth'];
 $optimalHeight = $optionArray['optimalHeight'];
 // *** Resample - create image canvas of x, y size
 $this-&gt;imageResized = imagecreatetruecolor($optimalWidth, $optimalHeight);
 imagecopyresampled($this-&gt;imageResized, $this-&gt;image, 0, 0, 0, 0, $optimalWidth, $optimalHeight, $this-&gt;width, $this-&gt;height);
 // *** if option is 'crop', then crop too
 if ($option == 'crop') {
 $this-&gt;crop($optimalWidth, $optimalHeight, $newWidth, $newHeight);
 }
 }

## --------------------------------------------------------

 private function getDimensions($newWidth, $newHeight, $option)
 {

switch ($option)
 {
 case 'exact':
 $optimalWidth = $newWidth;
 $optimalHeight= $newHeight;
 break;
 case 'portrait':
 $optimalWidth = $this-&gt;getSizeByFixedHeight($newHeight);
 $optimalHeight= $newHeight;
 break;
 case 'landscape':
 $optimalWidth = $newWidth;
 $optimalHeight= $this-&gt;getSizeByFixedWidth($newWidth);
 break;
 case 'auto':
 $optionArray = $this-&gt;getSizeByAuto($newWidth, $newHeight);
 $optimalWidth = $optionArray['optimalWidth'];
 $optimalHeight = $optionArray['optimalHeight'];
 break;
 case 'crop':
 $optionArray = $this-&gt;getOptimalCrop($newWidth, $newHeight);
 $optimalWidth = $optionArray['optimalWidth'];
 $optimalHeight = $optionArray['optimalHeight'];
 break;
 }
 return array('optimalWidth' =&gt; $optimalWidth, 'optimalHeight' =&gt; $optimalHeight);
 }

## --------------------------------------------------------

private function getSizeByFixedHeight($newHeight)
 {
 $ratio = $this-&gt;width / $this-&gt;height;
 $newWidth = $newHeight * $ratio;
 return $newWidth;
 }

private function getSizeByFixedWidth($newWidth)
 {
 $ratio = $this-&gt;height / $this-&gt;width;
 $newHeight = $newWidth * $ratio;
 return $newHeight;
 }

private function getSizeByAuto($newWidth, $newHeight)
 {
 if ($this-&gt;height &lt; $this-&gt;width)
 // *** Image to be resized is wider (landscape)
 {
 $optimalWidth = $newWidth;
 $optimalHeight= $this-&gt;getSizeByFixedWidth($newWidth);
 }
 elseif ($this-&gt;height &gt; $this-&gt;width)
 // *** Image to be resized is taller (portrait)
 {
 $optimalWidth = $this-&gt;getSizeByFixedHeight($newHeight);
 $optimalHeight= $newHeight;
 }
 else
 // *** Image to be resizerd is a square
 {
 if ($newHeight &lt; $newWidth) {
 $optimalWidth = $newWidth;
 $optimalHeight= $this-&gt;getSizeByFixedWidth($newWidth);
 } else if ($newHeight &gt; $newWidth) {
 $optimalWidth = $this-&gt;getSizeByFixedHeight($newHeight);
 $optimalHeight= $newHeight;
 } else {
 // *** Sqaure being resized to a square
 $optimalWidth = $newWidth;
 $optimalHeight= $newHeight;
 }
 }

return array('optimalWidth' =&gt; $optimalWidth, 'optimalHeight' =&gt; $optimalHeight);
 }

## --------------------------------------------------------

private function getOptimalCrop($newWidth, $newHeight)
 {

$heightRatio = $this-&gt;height / $newHeight;
 $widthRatio = $this-&gt;width / $newWidth;

if ($heightRatio &lt; $widthRatio) {
 $optimalRatio = $heightRatio;
 } else {
 $optimalRatio = $widthRatio;
 }

$optimalHeight = $this-&gt;height / $optimalRatio;
 $optimalWidth = $this-&gt;width / $optimalRatio;

return array('optimalWidth' =&gt; $optimalWidth, 'optimalHeight' =&gt; $optimalHeight);
 }

## --------------------------------------------------------

private function crop($optimalWidth, $optimalHeight, $newWidth, $newHeight)
 {
 // *** Find center - this will be used for the crop
 $cropStartX = ( $optimalWidth / 2) - ( $newWidth /2 );
 $cropStartY = ( $optimalHeight/ 2) - ( $newHeight/2 );

$crop = $this-&gt;imageResized;
 //imagedestroy($this-&gt;imageResized);

// *** Now crop from center to exact requested size
 $this-&gt;imageResized = imagecreatetruecolor($newWidth , $newHeight);
 imagecopyresampled($this-&gt;imageResized, $crop , 0, 0, $cropStartX, $cropStartY, $newWidth, $newHeight , $newWidth, $newHeight);
 }

## --------------------------------------------------------

public function saveImage($savePath, $imageQuality=&quot;100&quot;)
 {
 // *** Get extension
 $extension = strrchr($savePath, '.');
 $extension = strtolower($extension);

switch($extension)
 {
 case '.jpg':
 case '.jpeg':
 if (imagetypes() &amp; IMG_JPG) {
 imagejpeg($this-&gt;imageResized, $savePath, $imageQuality);
 }
 break;

case '.gif':
 if (imagetypes() &amp; IMG_GIF) {
 imagegif($this-&gt;imageResized, $savePath);
 }
 break;

case '.png':
 // *** Scale quality from 0-100 to 0-9
 $scaleQuality = round(($imageQuality/100) * 9);

// *** Invert quality setting as 0 is best, not 9
 $invertScaleQuality = 9 - $scaleQuality;

if (imagetypes() &amp; IMG_PNG) {
 imagepng($this-&gt;imageResized, $savePath, $invertScaleQuality);
 }
 break;

// ... etc

default:
 // *** No extension - No save.
 break;
 }

imagedestroy($this-&gt;imageResized);
 }
 ## --------------------------------------------------------

}
?>

Advertisements

PYGAME ANIMATION 2

import pygame, sys
from pygame.locals import *
pygame.init()
FPS=60
fpsclock=pygame.time.Clock()
window_width = 500
window_height = 500
displaywindow = pygame.display.set_mode((window_width,window_height))
pygame.display.set_caption('mygame1')
white = (255,255,255)
black = (1,1,1)
displaywindow.fill(white);
image = pygame.image.load('img/image.jpg')
img1x=300
img1y=300
img2x=img1x+192
img2y=img1y+120
i=1
j=1
while 1:
 displaywindow.fill(white)
 img1x = img1x-i
 img1y = img1y-j
 img2x = img2x-i
 img2y = img2y-j
 for event in pygame.event.get():
 if event.type == pygame.locals.QUIT:
 pygame.quit()
 sys.exit()
 if img1x &amp;lt;= 1:
 i=-1
 if img1y &amp;lt;= 1:
 j=-1
 if img2x &amp;gt;= window_width-1:
 i=1
 if img2y &amp;gt;= window_height-1:
 j=1
 displaywindow.blit(image,(img1x,img1y))
 pygame.display.update()
 fpsclock.tick(FPS)

PYGAME ANIMATION 1

import pygame, sys
from pygame.locals import *

pygame.init()
FPS=60
fpsclock=pygame.time.Clock()
window_width = 500
window_height = 500
displaywindow = pygame.display.set_mode((window_width,window_height))
pygame.display.set_caption('mygame1')
white = (255,255,255)
black = (1,1,1)
displaywindow.fill(white);
image = pygame.image.load('img/image.jpg')
img1x=300
img1y=300
img2x=img1x+192
img2y=img1y+120
i=1
y = 0
yspeed = 0
yaccel = 1
x = 0
xspeed = 5

frictionCoefficient = 0.01
while 1:
 displaywindow.fill(white)
 img1x = img1x-i
 img1y = img1y-i
 img2x = img2x-i
 img2y = img2y-i
 for event in pygame.event.get():
 if event.type == pygame.locals.QUIT:
 pygame.quit()
 sys.exit()
 if img1x <= 1 or img1y <= 1:
 i=-1
 if img2x >= window_width-1 or img2y >= window_height-1:
 i=1
 yspeed += yaccel
 yspeed -= frictionCoefficient * yspeed
 y += yspeed

 x += xspeed

 if x <= 1 or x >= window_width - 1 - 190:
 xspeed *= -0.5

 if y > (window_height-1 - 120):
 y = window_height-1 - 120
 yspeed *= -1

 displaywindow.blit(image,(x,y))
 pygame.display.update()
 fpsclock.tick(FPS)

&nbsp;

MY PYGAME 1

Today I have started to learn pygame, and my first try in below.


import pygame, sys
from pygame.locals import *

pygame.init()
DISPLAYSURF = pygame.display.set_mode((400,300));
pygame.display.set_caption('HW')
i=0
j=0
k=0
while True:
 for event in pygame.event.get():
 i=i+3
 j=j+6
 k=k+9
 if i>=200:
 i=1
 if k>=200:
 k=1
 if j>=200:
 j=1
 if event.type == QUIT:
 pygame.quit()
 sys.exit()
 DISPLAYSURF.fill((i,j,k))
 pygame.display.update()