Newsgroup: it.comp.www.php
Titolo: Funzione per aggiungere angoli smussati alle immagini

Ho scritto una funzioncina per aggiungere degli angoli smussati alle
immagini. Mi piacerebbe conoscere la vostra opinione, suggerimenti e/o
critiche sono ben accette:
function roundedimage($source, $destination) {
  // Retrieve image informations
  $info = getimagesize($source);
  // Load image from file
  switch ($info['mime']) {
         case 'image/jpeg' :
                $image = imagecreatefromjpeg($source);
                break;
         case 'image/png' :
                $image = imagecreatefrompng($source);
                break;
         case 'image/gif' :
                $image = imagecreatefromgif($source);
                break;
         default:
                return FALSE;
  }
 
  // Set the alphablending to on
  imagealphablending($image, true);
  // Get the size of the image
  $image_w = imagesx($image);
  $image_h = imagesy($image);
  // Overlay left top corner
  $crnimage_nw = imagecreatefrompng("crn_nw.png");
  $crnimage_nw_w = imagesx($crnimage_nw);
  $crnimage_nw_h = imagesy($crnimage_nw);
  imagecopy($image, $crnimage_nw, 0, 0, 0, 0,
     $crnimage_nw_w, $crnimage_nw_h);
  // Overlay right top corner
  $crnimage_ne = imagecreatefrompng("crn_ne.png");
  $crnimage_ne_w = imagesx($crnimage_ne);
  $crnimage_ne_h = imagesy($crnimage_ne);
  imagecopy($image, $crnimage_ne, $image_w - $crnimage_ne_w,
     0, 0, 0, $crnimage_ne_w, $crnimage_ne_h);
  // Overlay left bottom corner
  $crnimage_sw = imagecreatefrompng("crn_sw.png");
  $crnimage_sw_w = imagesx($crnimage_sw);
  $crnimage_sw_h = imagesy($crnimage_sw);
  imagecopy($image, $crnimage_sw, 0, $image_h - $crnimage_sw_h,
     0, 0, $crnimage_sw_w, $crnimage_sw_h);
  // Overlay right top corner
  $crnimage_se = imagecreatefrompng("crn_se.png");
  $crnimage_se_w = imagesx($crnimage_se);
  $crnimage_se_h = imagesy($crnimage_se);
  imagecopy($image, $crnimage_se, $image_w - $crnimage_se_w,
     $image_h - $crnimage_se_h, 0, 0, $crnimage_se_w,
     $crnimage_se_h);
  // Output to the original format
  switch ($info['mime']) {
         case 'image/jpeg' :
                imagejpeg($image, $destination, 100);
                break;
         case 'image/png' :
                imagepng($image, $destination);
                break;
         case 'image/gif' :
                imagegif($image, $destination);
                break;
  }
 
  // Cleanup
  imagedestroy($image);
  imagedestroy($crnimage_nw);
  imagedestroy($crnimage_ne); 
  imagedestroy($crnimage_sw);
  imagedestroy($crnimage_se); 
}
-- 
Ho capito che tipo sei, sei uno di quelli che mandano i messaggini
con le k inframezzati da pletore di puntini di sospensione

 
come possiamo giudicare se non possiamo nemmeno testare?
crn_nw.png
potresti fornire una immagine originale ed una immagine finale come
esempio..
-- 
www.iuz-lab.info





[OT]
Forse dovresti dare un'occhiata al tuo sito con altri browser (IE fra tutti)
:-)
[/OT]
-- 
+-----------------------------------------+
| //lil - 
http://divxworld.altervista.org
 |
|     UP to you     
http://www.unnpro.com
 |
+-----------------------------------------+

 [/OT]
Francamente stare dietro ai bug del box model di IE non e' la mia
principale preoccupazione. Certo pero' che gli ignari utenti non possono
pagare colpe non loro ;)


   imagedestroy($crnimage_se); 
Solo un consiglio, dopo aver velocissimamente guardato il codice.
I vari imagedistroy(IMMAGINE) ti conviene farli appena dopo aver
terminato di lavorare con IMMAGINE, cosě che la memoria venga "liberata"
quando, ai tuoi scopi, non č piů necessaria.
Ok che lavori con immagini 20x20 per gli angoli (che quindi ti consuma
veramente poco a livello di risorse), perň visto quanto ci stai a
sistemare la cosa mi sento di consigliartelo! ;-)
Ciao!
--ev
-- 
      My Right brain Left,
but my Left brain is always Right

 quando, ai tuoi scopi, non č piů necessaria.
ottimo, grazie
