Jump to content
php.lv forumi

Recommended Posts

Posted

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!

Posted

$img = imagecreatefrom*(...);

$w = imagesx($img);

$h = imagesy($img);

 

if ( $w > $h )

{

// horizontāla

}

else

{

// vertikāla

}

Posted

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

}

Posted

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]);

Posted (edited)

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
Posted

Nevajag taisīt muļķīgas QUOTEs

 

es jau to arii lietoju :(

 

varbuut netaa ierakstiiju, luudzu ja vari iepousto pilnu versiju paste.php.lv , nezinu ko es ne taa sadariiju :(

Posted

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...

×
×
  • Create New...