Galeria zdiec

Dział poświęcony programowaniu w każdym języku.

Galeria zdiec

Postprzez Ptaq » 2004-12-18, 15:55:35

Wlasnie sie mecze z ustawieniami galeri by BlueMan and Cezi (oficjalnie tylko by BlueMan :P )

A wiec tak:
mam pliki w katalogu Galeria (w katalogu obslugujacym php zeby nie bylo) a w nim pliki index.php , obr.php i class.Thumbnail.php oraz katalog 2 w ktorym jest batman.jpg

plik wyswietlajacy galerie (index):
Kod: Zaznacz cały
<a href="2/batman.jpg" target="_blank">
<img src="obr.php?obrazek=2/batman.jpg&width=220&height=10&percent=0" border="0"></a>

plik obr:
Kod: Zaznacz cały
<?
include("class.Thumbnail.php");
$obrazek=$_GET['obrazek']; $width=$_GET['width']; $height=$_GET['height']; $percent=$_GET['percent'];
$tn_image = new Thumbnail("$obrazek", $width, $height, $percent);
$tn_image->show();
?>

i class.Thumbnail.php :
Kod: Zaznacz cały
<?
/*
 * class.Thumbnail.php
 *
 * Copyright (C) 2001 Hidayet Dogan (hdogan@bilcag.net)
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2, or (at your option)
 * any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 *
 */

class Thumbnail {
    var $errmsg       = "";
    var $error       = false;
    var $format       = "";
    var $file       = "";
    var $max_width  = 0;
    var $max_height = 0;
    var $percent    = 0;

    function Thumbnail($file, $max_width = 0, $max_height = 0, $percent = 0) {
   if (!file_exists($file)) {
       $this->errmsg = "Plik nie istnieje";
       $this->error  = true;
   }
   else if (!is_readable($file)) {
       $this->errmsg = "Plik nie jest do odczytu";
       $this->error  = true;
   }

   if (strstr(strtolower($file), ".gif"))
       $this->format = "GIF";
   else if (strstr(strtolower($file), ".jpg") ||
       strstr(strtolower($file), ".jpeg"))
       $this->format = "JPEG";
   else if (strstr(strtolower($file), ".png"))
       $this->format = "PNG";
   else {
       $this->errmsg = "Niewiadomy format pliku";
       $this->error  = true;
   }

   if ($max_width == 0 && $max_height == 0 && $percent == 0)
       $percent = 100;

   $this->max_width  = $max_width;
   $this->max_height = $max_height;
   $this->percent     = $percent;
   $this->file     = $file;
    }

    function calc_width($width, $height) {
   $new_width  = $this->max_width;
   $new_wp     = (100 * $new_width) / $width;
   $new_height = ($height * $new_wp) / 100;
   return array($new_width, $new_height);
    }

    function calc_height($width, $height) {
   $new_height = $this->max_height;
   $new_hp     = (100 * $new_height) / $height;
   $new_width  = ($width * $new_hp) / 100;
   return array($new_width, $new_height);
    }

    function calc_percent($width, $height) {
   $new_width  = ($width * $this->percent) / 100;
   $new_height = ($height * $this->percent) / 100;
   return array($new_width, $new_height);
    }

    function return_value($array) {
   $array[0] = intval($array[0]);
   $array[1] = intval($array[1]);
   return $array;
    }

    function calc_image_size($width, $height) {
   $new_size = array($width, $height);

   if ($this->max_width > 0) {
       $new_size = $this->calc_width($width, $height);

       if ($this->max_height > 0) {
      if ($new_size[1] > $this->max_height)
          $new_size = $this->calc_height($new_size[0], $new_size[1]);
       }

       return $this->return_value($new_size);
   }

   if ($this->max_height > 0) {
       $new_size = $this->calc_height($width, $height);
       return $this->return_value($new_size);
   }

   if ($this->percent > 0) {
       $new_size = $this->calc_percent($width, $height);
       return $this->return_value($new_size);
   }
    }

    function show_error_image() {
   header("Content-type: image/png");
   $err_img   = ImageCreate(220, 25);
   $bg_color  = ImageColorAllocate($err_img, 0, 0, 0);
   $fg_color1 = ImageColorAllocate($err_img, 255, 255, 255);
   $fg_color2 = ImageColorAllocate($err_img, 255, 0, 0);
   ImageString($err_img, 3, 6, 6, "ERROR:", $fg_color2);
   ImageString($err_img, 3, 55, 6, $this->errmsg, $fg_color1);
   ImagePng($err_img);
   ImageDestroy($err_img);
    }

    function show() {
   if ($this->error) {
       $this->show_error_image();
       return;
   }

   $size      = GetImageSize($this->file);
   $new_size  = $this->calc_image_size($size[0], $size[1]);
   #
   # Good idea from Mariano Cano PĂŠrez
   # Requires GD 2.0.1 (PHP >= 4.0.6)
   #
   if (function_exists("ImageCreateTrueColor"))
       $new_image = ImageCreateTrueColor($new_size[0], $new_size[1]);
   else
       $new_image = ImageCreate($new_size[0], $new_size[1]);

   switch ($this->format) {
       case "GIF":
      $old_image = ImageCreateFromGif($this->file);
      break;
       case "JPEG":
      $old_image = ImageCreateFromJpeg($this->file);
      break;
       case "PNG":
      $old_image = ImageCreateFromPng($this->file);
      break;
   }

   ImageCopyResized($new_image, $old_image, 0, 0, 0, 0, $new_size[0], $new_size[1], $size[0], $size[1]);

   switch ($this->format) {
       case "GIF":
      header("Content-type: image/gif");
      ImageGif($new_image);
      break;
       case "JPEG":
      header("Content-type: image/jpeg");
      ImageJpeg($new_image);
      break;
       case "PNG":
      header("Content-type: image/png");
      ImagePng($new_image);
      break;
   }

   ImageDestroy($new_image);
   ImageDestroy($old_image);
   return;
    }
}
?>


Krutko mowiac galeria nie działa ;)
BlueMan o SOBIE - http://i10.tinypic.com/2pq2oie.jpg :D
[ http://www.mnocleg.pl | http://www.s90.pl | http://www.projekty-logo.com ]
Avatar użytkownika
PtaqNone specified
Weteran
Weteran
 
Posty: 1522
Dołączył(a): 2004-09-22, 20:31:30
Lokalizacja: Dąbrowa Górnicza
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Galeria zdiec

Postprzez BlueMan » 2004-12-18, 16:04:39

No, ale co ci się wyświetla ?? "X" zamiast obrazka ??

Może po prostu obrazek, który chcesz pomniejszyć jest w zlym katalogu ?? 2/batman.jpg
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Galeria zdiec

Postprzez Ptaq » 2004-12-18, 16:58:16

wszystko jest tak jak podalem.
BlueMan o SOBIE - http://i10.tinypic.com/2pq2oie.jpg :D
[ http://www.mnocleg.pl | http://www.s90.pl | http://www.projekty-logo.com ]
Avatar użytkownika
PtaqNone specified
Weteran
Weteran
 
Posty: 1522
Dołączył(a): 2004-09-22, 20:31:30
Lokalizacja: Dąbrowa Górnicza
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Galeria zdiec

Postprzez BlueMan » 2004-12-18, 21:37:27

Przeniosłem wszystko co w/w jest napisane i u mnie wszystko śmiga aż miło !

Musisz coś mieć schrzanione u siebie. Przenieś przykładowaś stronę do neta na jakiś serwer (z PHP) i sprawdź czy działa :!:
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon

Re: Galeria zdiec

Postprzez Ptaq » 2004-12-19, 10:24:59

:oops: troche głupio mi o tym pisac, przyznawac sie ale ok powiem dzis rano sie budze i pierwsze co mysle czemu galeria nie dziala - i olśniło mnie - nie odpalałem Apacha :P

Wszystko działa dzieki Blue :)
BlueMan o SOBIE - http://i10.tinypic.com/2pq2oie.jpg :D
[ http://www.mnocleg.pl | http://www.s90.pl | http://www.projekty-logo.com ]
Avatar użytkownika
PtaqNone specified
Weteran
Weteran
 
Posty: 1522
Dołączył(a): 2004-09-22, 20:31:30
Lokalizacja: Dąbrowa Górnicza
Podziękował : 0 razy
Otrzymał podziękowań: 0 razy

Re: Galeria zdiec

Postprzez BlueMan » 2004-12-20, 15:39:55

To co miałem powiedzieć Tobie na ten temat to powiedziałem w szkole ( :glupek2: )
Czytaj regulamin - unikniesz wielu problemów.
Korzystajcie z załączników na forum aby pliki nie ginęły w przyszłości w zewnętrznych serwisach.
Avatar użytkownika
BlueManMale
Administrator
Administrator
 
Posty: 19105
Dołączył(a): 2004-05-26, 17:34:59
Lokalizacja: Dabrowa Górn.
Podziękował : 6 razy
Otrzymał podziękowań: 5 razy
Imię: Szymon


  • Inne

Powrót do Programowanie

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 703 gości

cron