ok, napisałem już kod
przetestowałem go na 4 plikach w katalogu zmieniło wszystkie (dodało na nie chciany napis), potem edytowałem przez gd 150 zdjęć, odpaliłem skrypt trochę się wczytywał ale nie pozmieniał wszystkich zdjęć tylko część, dlaczego? prze obróbce raz rozmiar zdjęcia się zwiększa (to rozumiem) a raz zmniejsza (tego nie trochę nie rozumiem)
KOD:
<?
/* Copyright(C) Lukasz Ogan, 2008 : All Rights Reserved */
$text = "www.2c-nowe.com";
$obecny_kat = '../galeria/obrazy/';
$jakosc = '100'; // ustawia jakość zdjęcia od 0 - 100
$dir = "../galeria/obrazy/";
$sciezka_do_katalogu = "../galeria/obrazy/";
$n=0;
if(@$d = opendir($sciezka_do_katalogu)){
$n++;
$losowe_zdjecie[$n] = "$plik";
$lol = $sciezka_do_katalogu.$plik;
$ob = imagecreatefromjpeg($lol);
if(!$ob)
{
echo 'Stworzenie obrazka nie powiodło się :('; }
else
{
$szerokosc_obrazka = imagesx($ob);
$wysokosc_obrazka = imagesy($ob);
//18-pikselowy margines od krawędzi
$szerokosc_obrazka_bez_marginesow = $szerokosc_obrazka - (2 * 18);
$wysokosc_obrazka_bez_marginesow = $wysokosc_obrazka - (2 * 18);
//obliczanie pasującego zormiaru czcionki
$rozmiar_czcionki = 15;
//gd2, gdzie są fonty?
putenv('GDFONTPATH=C:WINDOWSFonts'); $nazwa_czcionki = 'verdana';
do
{
//obliczanie rozmiaru tekstu przy tym rozmiarze czcionki
$bbox = imagettfbbox($rozmiar_czcionki, 0, $nazwa_czcionki, $text);
$tekst_prawy = $bbox[2]; //prawa współrzędna
$tekst_lewy = $bbox[0]; //lewa współrzędna
$szerokosc_tekstu = $tekst_prawy - $tekst_lewy; //jaki szeroki?
$wysokosc_tekstu = abs($bbox[7
] - $bbox[1
]); //jaki wysoki? }while($rozmiar_czcionki > 8 &&
($wysokosc_tekstu > $wysokosc_obrazka_bez_marginesow ||
$szerokosc_tekstu > $szerokosc_obrazka_bez_marginesow)
);
//odnaleziono pasujący rozmiar czcionki
//teraz trzeba obliczyć jego współrzędne
$tekst_x = $szerokosc_obrazka/1.01 - $szerokosc_tekstu/1.01;
$tekst_y = $wysokosc_obrazka/1.01 - $wysokosc_tekstu/1.01;
if($tekst_lewy < 0)
$tekst_x += abs($tekst_lewy); //dodanie współczynnika do lewej pozycji $nad_linia_tekstu = abs($bbox[7
]); //jak wysoko nad podstawą? $tekst_y += $nad_linia_tekstu; //dodanie współczynnika podstawy
$test_y -=2; //współczynnik dostosowania kształtu do szablonu
$bialy = imagecolorallocate($ob, 255, 255, 255);
imagettftext($ob, $rozmiar_czcionki, 0, $tekst_x, $tekst_y, $bialy, $nazwa_czcionki, $text);
header('Content-type: image/jpg'); //header imagejpeg($ob,$lol,$jakosc); //zapis zdjęcia
}
}
}
}
closedir($obecny_kat); // zamknięcie katalogu
/***********************************
_ _ ___ _ _ _ ___ ___
| |/ / | : | | | | | | | |_| | __|
|_|_ |_:_| |_|_| |_| |_|_| |___|
***********************************/
?>