Witam, mam problem z dynamicznym wyśrodkowaniem zdjęcia po skalowaniu w php.

  1. function miniatura($foto, $width, $height){
  2. $rozmiar = GetImageSize($foto);
  3. if($rozmiar[0]>$rozmiar[1]) $wspolczynnik = $rozmiar[0]/$width;
  4. else $wspolczynnik = $rozmiar[1]/$height;
  5. $szerokosc = (int)($rozmiar[0]/$wspolczynnik);
  6. $wysokosc = (int)($rozmiar[1]/$wspolczynnik);
  7.  
  8. $class = ' style="width:'.$szerokosc.'px; height:'.$wysokosc.'px;"';
  9. return '<img src="'.$foto.'" class="zdjecie_produkt" alt="'.$sub_kategoria1.'" title="'.$sub_kategoria1.'" '.$class.'/>';
  10. }


W tym momencie idealnie proporcjonalnie skaluje mi zdjęcie i je wyświetla. Problem pojawia się kiedy obraz jest dłuższy niż szerszy.
Jest wtedy wyrównany do lewej. Próbowałem poprzez dodanie margin-left, ale nie do końca mi to wychodzi.

  1. function miniatura($foto, $width, $height){
  2. $rozmiar = GetImageSize($foto);
  3. if($rozmiar[0]>$rozmiar[1]) $wspolczynnik = $rozmiar[0]/$width;
  4. else $wspolczynnik = $rozmiar[1]/$height;
  5. $szerokosc = (int)($rozmiar[0]/$wspolczynnik);
  6. $wysokosc = (int)($rozmiar[1]/$wspolczynnik);
  7.  
  8. if($rozmiar[0]>$rozmiar[1]){
  9. $center = (int)($wspolczynnik);
  10. }else{
  11. $center = (int)($rozmiar[0]/$wspolczynnik);
  12. }
  13.  
  14. $class = ' style="width:'.$szerokosc.'px; height:'.$wysokosc.'px; margin-left:'.$center.'px;"';
  15. return '<img src="'.$foto.'" class="zdjecie_produkt" alt="'.$sub_kategoria1.'" title="'.$sub_kategoria1.'" '.$class.'/>';
  16. }


A funkcje wywołuje np.
  1. miniatura('../uploated_file/'.$kategoria1.'/'.$nazwa.'/'.$sub_kategoria1.'/1.jpg', 145, 100)


Mogę liczyć na waszą pomoc? wink.gif

edit/
Przepraszam za spam.
Szukałem nie tam gdzie trzeba, problem tkwił w css.
Dodałem do stylu:
  1. margin: 0 auto;
  2. display: block;