Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από vassilism » 26 Νοέμ 2007 21:59

Κώδικας: Επιλογή όλων

while ($rows = mysql_fetch_assoc($getData)) 
{  
$foto1 = $rows['upload_url'].$rows['file_name']; 
list($width, $height, $type, $attr) = getimagesize($foto1); 
if&#40;$width<120 || $height<120&#41; &#123; 
$diastaseis ='width='.$width.' height='.$height.'';&#125; 
else &#123;$diastaseis ='width=120 height=120';&#125;
echo&#40;"<a href=\"&#123;$foto1&#125;\"><img src=\"&#123;$foto1&#125;\" &#123;$diastaseis&#125; ></a>"&#41;;
&#125;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από fafos » 26 Νοέμ 2007 22:56

Κώδικας: Επιλογή όλων


while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41; 
&#123;  
$foto1 = $rows&#91;'upload_url'&#93;.$rows&#91;'file_name'&#93;;
$foto2 = array_values&#40;getimagesize&#40;$foto1&#41;&#41;;
list&#40;$width, $height, $type, $attr&#41; = $foto2;

if&#40;$width > 120 || $height > 120&#41; 
&#123;$diastaseis = 'width=120';&#125; else &#123;
$diastaseis ='width='.$width.' height='.$height.'';&#125;
 
echo&#40;"<a href=\"&#123;$foto1&#125;\"><img src=\"&#123;$foto1&#125;\" &#123;$diastaseis&#125; border=0></a>"&#41;; 
&#125;

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από vassilism » 27 Νοέμ 2007 16:21

Πατρίδα ούτε αυτό δουλεύει. :crash:
Η επιστήμη σηκώνει τα χέρια ψηλά. :snooty:

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Alice_Cooper » 27 Νοέμ 2007 16:41

file vassilism dokimases na valis kamia echo ... as'poume ....

Κώδικας: Επιλογή όλων

while &#40;$rows = mysql_fetch_assoc&#40;$getData&#41;&#41;
&#123;
$foto1 = $rows&#91;'upload_url'&#93;.$rows&#91;'file_name'&#93;;
$foto2 = array_values&#40;getimagesize&#40;$foto1&#41;&#41;;
echo $foto1."||"; \\ afto
print_r&#40;$foto2&#41;; \\ ki afto
list&#40;$width, $height, $type, $attr&#41; = $foto2;
if&#40;$width > 120 || $height > 120&#41;
&#123;$diastaseis = 'width=120';&#125; else &#123;
$diastaseis ='width='.$width.' height='.$height.'';&#125;
echo $diastaseis; \\ ki afto 
echo&#40;"<a href=\"&#123;$foto1&#125;\"><img src=\"&#123;$foto1&#125;\" &#123;$diastaseis&#125; border=0></a>"&#41;;
&#125;

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από fafos » 27 Νοέμ 2007 17:43

vassilism έγραψε:Πατρίδα ούτε αυτό δουλεύει. :crash:
Η επιστήμη σηκώνει τα χέρια ψηλά. :snooty:
Exeis thn GD library ston server sou h tsampa palevoume toses hmeres?

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από vassilism » 27 Νοέμ 2007 18:41

Alice το δοκίμασα, δεν δίνει καθόλου τιμές στην μεταβλητή $diastaseis.
Πατρίδα δεν ξέρω αν έχω την GD library.
Πώς μπορώ να το δω αυτό?

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από vassilism » 27 Νοέμ 2007 18:54

Μόλις τώρα είδα στο manual της php ότι η συνάρτηση getimagesize() δεν χρειάζεται την GD library.
http://uk.php.net/manual/en/function.getimagesize.php

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Banavas » 27 Νοέμ 2007 20:15

Οι εικόνες σου είναι τετράγωνες ή έχουν διάφορα σχήματα;
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από vassilism » 27 Νοέμ 2007 21:33

Τι εννοείς τετράγωνες?
Δεν είναι όλες οι εικόνες τετράγωνες?

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Banavas » 27 Νοέμ 2007 21:40

Τετράγωνες σημαίνει πλευρά χ = πλευρά ψ oi άλλες είναι παραλληλόγραμες....
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Alice_Cooper » 28 Νοέμ 2007 00:38

afto pantos pou to dokimasa paizei

Κώδικας: Επιλογή όλων

$foto1 = "eikona.jpg";
$foto2 = array_values&#40;getimagesize&#40;$foto1&#41;&#41;;
list&#40;$width, $height, $type, $attr&#41; = $foto2;
if&#40;&#40;$width > 120&#41; || &#40;$height > 120&#41;&#41; &#123;
 $diastaseis = 'width=120 ';
&#125; else &#123;
$diastaseis ='width='.$width.' height='.$height;
&#125;
echo '<a href="'.foto1.'"><img src="'.$foto1.'" '.$diastaseis.' border=0></a>';

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Banavas » 28 Νοέμ 2007 16:50

Alice δεν είναι σωστό και θα το καταλάβεις αν βάλεις portrait εικόνα. Γιαυτό ρώτησα παραπάνω αν είναι τετράγωνες οι εικόνες...
Θέλει ένα if για να ελέγξεις αν η διάσταση width είναι μικρότερη ή μεγαλύτερη από την height και να δώσεις στο $diastaseis = ανάλογα το width ή το height.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από fafos » 28 Νοέμ 2007 19:16

Banavas έγραψε:Alice δεν είναι σωστό και θα το καταλάβεις αν βάλεις portrait εικόνα. Γιαυτό ρώτησα παραπάνω αν είναι τετράγωνες οι εικόνες...
Θέλει ένα if για να ελέγξεις αν η διάσταση width είναι μικρότερη ή μεγαλύτερη από την height και να δώσεις στο $diastaseis = ανάλογα το width ή το height.
se authn thn fash ton endiaferei to mhkos giauto leme na mas dosei to width mono iso me 120 gia na vgei to height automata:
if(($width > 120) || ($height > 120)) {
$diastaseis = 'width=120 ';
}

se allh periptosh pairnei kai to height:
else {
$diastaseis ='width='.$width.' height='.$height;
}

to provlhma einai giati paizei se olous mas kai oxi se auton pou exei to provlhma! :-?

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Banavas » 28 Νοέμ 2007 22:44

Επιμένω οτι η παραπάνω λογική "μπάζει".

Αν υποθέσουμε οτι έχουμε μια εικόνα 60 Χ 140 επειδή πληρεί την if(($width > 120) || ($height > 120)) η εντολή $diastaseis = 'width=120 '; θα την μεγενθύνει στο 120 Χ 280, αντί του φυσιολογικού να μικρύνει στο 52 Χ 120.
Happy coding....
Μάρκος
http://lasernet.gr

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

Αν οι διαστάσεις της εικόνας είναι μικρότερες από 120x120

Δημοσίευση από Alice_Cooper » 29 Νοέμ 2007 00:16

oti mpazei, mpazei ....
ego synithos kano elegxo analoga me ta size ....
apla tora to thelei xondrika apo oti katalava, apla na ginetai o elegxos ....
enoeitai kalytera kapos etc as poume ....

Κώδικας: Επιλογή όλων

$img = "eikona.jpg";
$newsize = 120; \\ edo epilegeis ti size tha exei h megalh plevra
$imagedata = getimagesize&#40;$img&#41;;
$w = $imagedata&#91;0&#93;;
$h = $imagedata&#91;1&#93;;
if &#40;$h > $w&#41; &#123;
          $new_w = &#40;$newsize / $h&#41; * $w;
          $new_h = $newsize;
&#125; else &#123;
          $new_h = &#40;$newsize / $w&#41; * $h;
          $new_w = $newsize;
&#125;

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης