Skocz do zawartości

Zmniejszanie zdjec przy wysylaniu na serwer


rybkas

Rekomendowane odpowiedzi

Poszukuje scryptu automatycznie zmniejszajacego wage zdjecia podczas wysylania na serwer.

Ograniczylem wage zdjec mozliwych do wyslania do 1 Mb- wiekszosc zdjec a aparatu jest "cieższa" i czesc userów ma problemy ze zmiejszeniem wagi zdjec.

Czy istnieje scryp ktory zrobilby to automatycznie ??

moze byc platny :-)

Optymista uważa, że świat stoi przed nim otworem.
Pesymista wie, co to za otwór >>>tanie noclegi<<<

Odnośnik do komentarza
Udostępnij na innych stronach

@Poszukuje scryptu automatycznie zmniejszajacego wage zdjecia podczas wysylania na serwer.

Z punktu widzenia oprogramowania masz na myśli program, a nie skrypt. Skrypt np PHP co najwyżej może zdjęcie przeskalować po wgraniu na serwer.

Zainteresuj się https://www.irfanview.com/ ma opcję przeskalowania zdjęć i to wsadową ;)

HTTP 200 usługi IT -> Dariusz Janicki | Realizacja serwisów www oraz oprogramowania w PHP / C# / Golang / Node.js / MySQL/ Laravel
Komory normobaryczne - normobaria.tech Wykonawca montażu i instalacji komory normobarii

Odnośnik do komentarza
Udostępnij na innych stronach

Mam takie coś u siebie w skrypcie ogłoszeń może się przyda komuś

Nie jest to dokładnie tak że ustalasz ile ma zajmować zdjęcie ale można sobie po testować jaka wielkość i w jakiej jakości zajmuje i zrobić zeby było zmiejszane po wgraniu na serwer.

function create_thumb_wfixed($file_name_src, $file_name_dest, $weight,$quality=100)
		{
		   if (file_exists($file_name_src)  && isset($file_name_dest))
		   {
			   $est_src = pathinfo(strtolower($file_name_src));
			   $est_dest = pathinfo(strtolower($file_name_dest));
			   $size = getimagesize($file_name_src);
			   $w = number_format($weight, 0, ',', '');
			   $h = number_format(($size[1]/$size[0])*$weight,0,',','');
			   if ($est_dest['extension'] == "gif" || $est_dest['extension'] == "jpg")
			   {
				   $file_name_dest = substr_replace($file_name_dest, 'jpg', -3);
				   $dest = imagecreatetruecolor($w, $h);
				   //imageantialias($dest, TRUE);
			   } elseif ($est_dest['extension'] == "png")
			   {
				   $dest = imagecreatetruecolor($w, $h);
				   //imageantialias($dest, TRUE);
			   } else
			   {
				  return FALSE;
			   }
			   switch($size[2])
			   {
			   case 1;	   //GIF
				   $src = imagecreatefromgif($file_name_src);
				   break;
			   case 2;	   //JPEG
				   $src = imagecreatefromjpeg($file_name_src);
				   break;
			   case 3;	   //PNG
				   $src = imagecreatefrompng($file_name_src);
				   break;
			   default;
				   return FALSE;
				   break;
			   }
			   imagecopyresampled($dest, $src, 0, 0, 0, 0, $w, $h, $size[0], $size[1]);

			   switch($size[2])
			   {
			   case 1;
					imagegif($dest,$file_name_dest);
			   case 2;
				   imagejpeg($dest,$file_name_dest, $quality);
				   break;
			   case 3;
				   imagepng($dest,$file_name_dest);
			   }
			   return TRUE;
		   }
		   return FALSE;
		}

wywołanie funkcji

$url1 = url zdjecia do zmiejszenia;

$url2 = url zdjęcia zmiejszonego;

$weight = szerokość zdjęcia max;

$quality = jakość;

create_thumb_wfixed($url1, $url2, $weight=600, $quality=90);

bilbord_opublikuj_mini.png

Odnośnik do komentarza
Udostępnij na innych stronach

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę. Warunki użytkowania Polityka prywatności