Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Miniaturki z sastosowaniem metody bilinear
Forum PHP.pl > Forum > Gotowe rozwiązania
yavaho
Uzywam kilka skryptów do zmiejszania obrazków JPG, ale jakosc powstałych miniaturek nie jezt zbyt zadowalajaca sad.gif
Potrzebuje jakiegos skryptu, który by uzywał metody np: bilinear a wielkosc pliku i jakosc powstałych obrazków by była na poziomie miniaturek tworzonych przez atomat z Photoshopa.

Na tej stronie jest kilka przykładłow:
http://pl.php.net/manual/pl/function.image...copyresized.php
Wiekszosc z tych przykladów uzywa podobnych zmiennyn na wejsciu do funkcji, tylko ze nie wiem dokladnie jakie wartosci podac w tych zmiennych :?:
[php:1:a2b45635a3]<?php
function ImageCopyResample(&$dst_img, &$src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h){
}
?>[/php:1:a2b45635a3]
Dwie pierwsze zmienne sa dla mnie jasne ($dst_img, $src_img) ale pozostałych nie rozumiem.
mike
  1. <?php
  2. function ImageCopyResample(&$dst_img, &$src_img, $dst_x, $dst_y, $src_x, $src_y,
  3.  $dst_w, $dst_h, $src_w, $src_h){ 
  4. }
  5. ?>

O ile się nie mylę, to jest tak:
$dst_img : identyfikator obrazu docelowego;
$src_img : identyfikator obrazu źródłowego;
$dst_x , $dst_y : współrzędne punktu, od którego ma zacząć się zapisywanie w obrazie docelowym;
$src_x , $src_y : współrzędne punktu, od którego ma zacząć się kopiowanie w obrazie źródłowym;
$dst_w , $dst_h : szerokość i wysokość fragmentu na obrazie docelowym, na który nanosimy kopiowaną część;
$src_w , $src_h : szerokość i wysokość fragmentu na obrazie źródłowym, który kopiujemy.
Nazwy zmiennych utrzymane w konwencji standardowych funkcji, zapoznaj się z tamtymi to dokładnie zrozumiesz tą (bo to chyba nie jest jedna z wbudowanych, nie).
Paul
dosc latwo to rozszyfrowac smile.gif :

dst - destination, czyli cel, przeznaczenie
src - source, wiadomo, zrodlo
x,y - uklad wspolrzednych
w,h - width, height

Cytat
bo to chyba nie jest jedna z wbudowanych

Racja, nie jest. Wbowana rozni sie tym, ze ma d na koncu, czyli imagecopyresampled smile.gif Zapewne ta opiera sie o ta wbudowana.
yavaho
Nie wiedzialem ze mozna zaczac kopiowac z okreslonego punktu na obrazie. Teraz juz wiem smile.gif

Ale mam problem z wszystkimi funkcjami ktore w parametrach wejsciowych maja zmienna ze znakiem referencji. np:
[php:1:2ef75e2fcd]<?php
function ImageCopyResample(&$dst_img, &$src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h) {
}
?>[/php:1:2ef75e2fcd]
te funkcje znajduja sie na tej stronie:
http://pl.php.net/manual/pl/function.image...copyresized.php
wywoluje je w ten sposob:
[php:1:2ef75e2fcd]<?php
Header("Content-type: image/jpeg");
$dst_img="thumb.jpg";
$src_img="bigImage.jpg";
ImageCopyResample($dst_img, $src_img, 0, 0, 0, 0, 100, 75, 800, 600);
?>[/php:1:2ef75e2fcd]
i wywala mi caly czas bledy tego typu:
[list]
Biblioteke graficzna GD mam poprawnie zainstalowana, bo proste funkcje graficzne u mnie chodza.
mike
Pamiętaj, że $dst_img i src_img to uchwyty do pilków tak jak to zrobiłeś.
Zrób tak:
  1. <?php
  2. header(&#092;"Content-type: image/jpeg\");
  3.  
  4. function ImageCopyResample(&$dst_img, &$src_img, $dst_x, $dst_y, $src_x, $src_y, $dst_w, $dst_h, $src_w, $src_h)
  5. {
  6. //tutaj funkcja z manuala;
  7. }
  8.  
  9. $src_img = imagecreatefromjpeg(&#092;"plik1.jpg\"); //plik źródłowy
  10. $dst_img = imagecreate(200, 300); //wymiary twojej miniaturki
  11. ImageCopyResample($dst_img, $src_img, 0, 0, 0, 0, 200, 300, 400, 400);
  12.  
  13. imagejpeg($dst_img);
  14.  
  15. ?>

Działa na pewno. Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.