Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Skrypt Galerii zdjęć
eunix
post
Post #1





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

Ostrzeżenie: (0%)
-----


Pisze sobie galerie zdjęć ale natrafiłem na problem, ustawiłem sobie, że na stronie wyświetlana jest miniatura zdjęcia a po kliknięciu na nią wyskakuje popup z powiększonym zdjęciem.

Jednak miniatura, którą ustawiłem na 100px na 100px, gdy włoże zdjęcie które ma np. 20px na 145px to wtedy brzydko to wygląda, tak samo jest przy powiększeniu jak chce powiększyć takie zdjęcie do 640px na 480px.
Może ktoś mi pomoże?

Pozdrawiam
Go to the top of the page
+Quote Post
treewood
post
Post #2





Grupa: Zarejestrowani
Postów: 215
Pomógł: 0
Dołączył: 18.01.2003

Ostrzeżenie: (0%)
-----


No niestety tak bywa. Mysle, ze po prostu warto wyswietlic wtedy zdjecie w orginalnych rozmiarach a nie powiekszac je. Chyba, ze sie zle zrozumielismy
Go to the top of the page
+Quote Post
UNK
post
Post #3





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


2 pytania:
1) Jak tą miniaturę ustawiasz, zmieniasz jedynie wartości w <img ... /> czy tworzysz dodatkowy plik jako jego miniatura ?
2) Po kiego chcesz powiększać zdjęcia ? Przecież jak ma być to galeria to chyba zdjęcia powinny być w oryginalnej wielkości, okno może sobie tam być np max 640x480 ale niech zdjęcie będzie takiej wielkości jak jest rzeczywiście.
Go to the top of the page
+Quote Post
eunix
post
Post #4





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

Ostrzeżenie: (0%)
-----


1) Tak, rozmiary miniatury ustalam w <img />
2) Tylko czasami jak ktoś da bardzo duże zdjęcie to będzie trzeba operować scrollem...a ja chce zeby było ładne okienko bez scrolla i wszystkie zdjęcia ładnie wyglądały, nie zwarzając na rozmiar.
Go to the top of the page
+Quote Post
UNK
post
Post #5





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


No jeśli taki problem to żeby sprawdzić rozmiar obrazka polecam
getimagesize" title="Zobacz w manualu php" target="_manual lub imagesx" title="Zobacz w manualu php" target="_manual imagesy" title="Zobacz w manualu php" target="_manual

Z resztą chyba będziesz wiedział co zrobić (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Sprawdzasz jaka jest rozdzielczość obrazka.
W wypadku miniatury, jeśli jest mniejsza od ustalanych wartości nie tykasz go, jeśli większa pomniejszasz go za pomocą <img />
To samo przy wyświetlaniu pełnego.

EDIT: Jeszcze mała podpowiedź do imagesx i y potrzeba biblioteki gd, także możesz o niej poczytać na php.net (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)

Ten post edytował UNK 25.08.2006, 20:58:35
Go to the top of the page
+Quote Post
Paweł :)
post
Post #6





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 27.12.2005

Ostrzeżenie: (0%)
-----


np. tak:

  1. <?php
  2. $rozmiar = getimagesize($sciezka_do_zdjecia);
  3. //$rozmiar[0]  -  szerokość
  4. //$rozmiar[1]  -  wysokość
  5. ?>


  1. <a href="java script:displayWindow(''.$sciezka_do_zdjecia.'','.$rozmiar[0].','.$rozmiar[1].')">miniaturka</a>


coś takiego zrób
Go to the top of the page
+Quote Post
UNK
post
Post #7





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Właśnie nie do końca, bo wtedy ustali jakie są rzeczywiste, a tutaj chodzi o to, że jeżeli są mniejsze to obrazek musi pozostać bez zmian bo zostanie rozciągnięty (a taki zazwyczaj brzydko wygląda), jeśli natomiast obrazek jest większy to wtedy ma być pomniejszony.
Tutaj najlepiej by pasowało zrobić jakieś stosunki wysokości do szerokości do docelowego rozmiaru aby obrazek zawsze był ładnie wyświetlany, a nie rozciągnięty np na szerokość lub wysokość.
Ale na początek wystarczy jeden if

if ({wysokosc} <= {yy} && {szerokosc} <= {xx}) {obrazek normalny)
else {obrazek pomniejszony}

w {} podałem co ma się ewentualnie znajdować (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg)
Go to the top of the page
+Quote Post
wolfek
post
Post #8





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.08.2006
Skąd: Bukwina Tatrzańska

Ostrzeżenie: (0%)
-----


temat podoby,moja stronka to www.wolfek.pl i nie wiem dlaczego po kliknieciu na obrazek w ie jest on linkiem php a np w operze otwiera sie zdjecie??
Go to the top of the page
+Quote Post
UNK
post
Post #9





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


Czary mary hokus pokus bęc, ponieważ jestem wróżką i wiem jakich skryptów użyłeś na swojej stronie, jak nie podasz konkretów to nikt Ci tego nie powie, ale sądzę że coś masz źle napisane i ie odbiera to jako obrazek do pobrania (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) i wcale temat nie podobny :/



PS. Jeśli piszecie zawartość strony w php używajcie \r\n tam gdzie ma być koniec lini, potem wychodzi takie coś jak ma google a takiego źródła strony jeśli potrzeba nie przegląda się zbyt ciekawie.
Go to the top of the page
+Quote Post
eunix
post
Post #10





Grupa: Zarejestrowani
Postów: 85
Pomógł: 0
Dołączył: 22.02.2006

Ostrzeżenie: (0%)
-----


Narazie zdołałem zrobić tylk to:
  1. <?php
  2. $image = getimagesize('zdjęcie');
  3. $y = $image[1];
  4. $x = $image[0];
  5.  
  6. if($y <= "480" && $x <= "640") 
  7. {
  8. $nx = $x;
  9. $ny = $y;
  10. } 
  11. else 
  12. {
  13. $nx = 640;
  14. $ny = 480;
  15. }
  16. ?>



wszystko jest dobrze, ale jeżeli zdęcie będzie miało tylko jeden bok dłuższy niż norma to wtedy jak pomniejszy to do rozmiarów 640 na 480, zle to wygląda ;/

//edit

teraz zrobiłem tak, ale czy ten kod będzie dobrze działał przy wszystkich formatach zdjęć?
  1. <?php
  2. $image = getimagesize('zdjęcie');
  3. $y = $image[1];
  4. $x = $image[0];
  5.  
  6. if($y == $x) 
  7. {
  8.  $nx = 600;
  9.  $ny = 600;
  10. } else {
  11. if($y <= "480" && $x <= "640") 
  12. {
  13. $nx = $x;
  14. $ny = $y;
  15. } elseif ($y >= "480" && $x >= "640") 
  16. {
  17. $nx = 640;
  18. $ny = 480;
  19. }
  20. else
  21. {
  22. $nx = $x / 2;
  23. $ny = $y / 2;
  24. }
  25. }
  26. ?>


Ten post edytował eunix 26.08.2006, 09:39:42
Go to the top of the page
+Quote Post
UNK
post
Post #11





Grupa: Zarejestrowani
Postów: 93
Pomógł: 5
Dołączył: 30.04.2006
Skąd: Gliwice

Ostrzeżenie: (0%)
-----


No teraz całkiem miło to wygląda.
Hmm, chodzi Ci o format, png, jpg, gif, itd... ?
to: "GIF, JPG, PNG, SWF, SWC, PSD, TIFF, BMP, IFF, JP2, JPX, JB2, JPC, XBM, or WBMP"
Go to the top of the page
+Quote Post
neiss
post
Post #12





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 23.09.2006
Skąd: Działdowo

Ostrzeżenie: (0%)
-----


Jest prostsza opcja której ja użyłem u siebie i sprawdza sie w 100% (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Kod
function openWindow (el,w,h) {
new_window = window.open(el, '', 'menubar=no, toolbar=no, location=no,
directories=no, status=no, scrollbars=no, resizable=yes, fullscreen=no,
channelmode=no, width='+w+', height='+h+', left=0, top=0, leftmargin=0,
topmargin=0, marginwidth=0, marginheight=0').focus()
}

wtedy gdy wpisyjesz linka do zdjecia dajesz tak
<a href="java script:openWindow('adres_obrazka',660,500);">nazwa_obrazka_lub_thumb</a>
i wyskakuje ci okienko z dopasowanym obrazkiem a gdy jest mniejszy to i tak okienko ma 660 na 500 (dlaczego tyle? - dopasowalem okno dla obrazkow 640x480 whedy nie wyskakuja suwaki) a obrazek jest wyswietlany w 100% swojego rozmiaru bez powiekszania

Ten post edytował neiss 29.09.2006, 00:16:16
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 31.12.2025 - 00:45