Jump to content
php.lv forumi

Image gallery


supernova

Recommended Posts

Kā lai uztaisa, kad uploadē attēlu galerijā(folderī) caur webu, :

 

			<form method="post" action="<?=$script_url;?>?<?=$_SERVER['QUERY_STRING'];?>" enctype="multipart/form-data" style="margin:0px;">
			<input type="file" name="image" /> 
			<input type="hidden" name="album" value="<?=$album;?>" /> 
			<input type="hidden" name="upload" value="true" />
			<input type="submit" value=" OK! " />

 

Lai Thumbnailu izmēri būtu katram bilžu izmēram savādāki(diva tipa)

viens prieksh 1024 x 768 izmēra, otrs prieksh 768 x 1024.

a tgd man ir tā ka visi attēlu thumnail'i ir 145x120 :(

Thumbnail skripts apm šāds:

		
$thumb_width="145"; //Width of the thumb
$thumb_height="120"; // Height of the thumb


$imgdata=getimagesize($full_server.$album.$file);
$imgresized=imagecreatetruecolor($thumb_width, $thumb_height);

	If($file_ext=="gif") {

		$imgsoruce=imagecreatefromgif($full_server.$album.$file);

	} Elseif($file_ext=="jpg") {

		$imgsoruce=imagecreatefromjpeg($full_server.$album.$file);

	} Elseif($file_ext=="png") {

		$imgsoruce=imagecreatefrompng($full_server.$album.$file);

	} Else {

		return false;

	}

 

Es vēlos panākt, lai katrai bildžu tipam, piem horizontālajai(1024 x 768) un portretam(768 x 1024) būtu katram savu izmēru thumnaiļi,,

lūdzu kāds palīdzat!

Link to comment
Share on other sites

if ( $w > $h )

{

// horizontāla

// te liec izmerus tiem $thumb_width="145"; $thumb_height="120"; kādus vajag priekš horizontālās

}

else

{

// vertikāla

// te liec izmerus tiem $thumb_width="145"; $thumb_height="120"; kādus vajag priekš portreta

}

Link to comment
Share on other sites

Kā tad tavam kodam būtu jasaprot, kas ir $w un $h, ja viņi pirms tam nav definēti?

 

1) Iesaku rakstīt pašam kodu no 0, būs daudz vieglāk un pats neapmaldīsies. Kā arī tajā kodā ir ļoti daudz neglīti risinājumi.

 

2) Nav nepieciešams int vērtības likt pēdiņās.

 

3) Tas ifs, kas nosaka izmērus tev janes no augšas uz to vietu, kur tu jau esi noskaidrojis attēla izmēru, gala rezultāts ir šāds:

$imgdata=getimagesize($full_server.$album.$file);

if ($imgdata[0] > $imgdata[1] )
{
$thumb_width=145; 
$thumb_height=120;
}
else
{
$thumb_width=145; 
$thumb_height=193; 
}
$imgresized=imagecreatetruecolor($thumb_width, $thumb_height);

	If($file_ext=="gif") { $imgsoruce=imagecreatefromgif($full_server.$album.$file); } 
//.....
imagecopyresized($imgresized, $imgsoruce, 0, 0, 0, 0, $thumb_width, $thumb_height, $imgdata[0], $imgdata[1]);

Link to comment
Share on other sites

function createtrumb ($filename,$width,$height,$newfile) {
 list($width_orig, $height_orig) = getimagesize($filename);
 $ratio_orig = $width_orig/$height_orig;
 if ($width/$height > $ratio_orig) {
$width = $height*$ratio_orig;
 } else {
$height = $width/$ratio_orig;
 }
 $image_p = imagecreatetruecolor($width, $height);
 $image = imagecreatefromjpeg($filename);
 imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
 imagejpeg($image_p,$newfile, 100);
 imagedestroy($image_p);
 imagedestroy($image);
}

 

createtrumb ($filename,90,70,$newfile);

 

createtrumb(bildeKoAtver,maxPlatums,maxAugstums,KurSaglabātJaunoAtēlu);

 

Nekropļo bildi vienkārši samazina līdz maksimālajiem lielumiem!

Edited by Wuu
Link to comment
Share on other sites

Kā teiktu bubu: netaisi muļķigas quotes :P

 

Un es ceru, ka manā variantā tu šo komentāru rindu: //.....

nomainīji ar pārējo nepieciešamo kodu(kuru es nepostoju, lai lieki nepiesārņotu vietu), jo spriežot pēc tavām problēmām es to stripri sāku to apšaubīt...

Link to comment
Share on other sites

×
×
  • Create New...