napis na rysunku

Języki, których efekty są wykonywane po stronie serwera. PHP, ASP czy CGI w połączeniu z bazami danych SQL dają niezwykłe możliwości budowy i zarządzania stron WWW. Tu zadajemy pytania oraz demonstrujemy kod, z którym mamy problem.
wezar
Posty: 9
Rejestracja: czw mar 11, 2004 4:39 pm

napis na rysunku

Post autor: wezar »

mam rysunek foto.jpg i chciałbym na nim nanieść napis który wcześniej został wpisamy przez urzytkownika jak to zrobić?
Michał Fikus
Przelotem
Przelotem
Posty: 242
Rejestracja: sob cze 08, 2002 6:39 pm
Lokalizacja: Wejherowo

Re: napis na rysunku

Post autor: Michał Fikus »

Najlepiej miej logo.png :P
PHP -> GD -> text przekazujesz do skyrptu choćby przez POST.

edited - poprawiona literówka ś na ć. :P
Ostatnio zmieniony czw paź 28, 2004 9:23 pm przez Michał Fikus, łącznie zmieniany 1 raz.
wixor
Przelotem
Przelotem
Posty: 336
Rejestracja: śr gru 31, 2003 10:18 pm
Lokalizacja: Wrocław

Re: napis na rysunku

Post autor: wixor »

pisze się użytkownik... poczytaj o funkcjach obsługi obrazków w PHP (manual)
the_foe
Przelotem
Przelotem
Posty: 295
Rejestracja: pt sty 31, 2003 12:53 pm
Lokalizacja: Wałbrzych
Kontakt:

Re: napis na rysunku

Post autor: the_foe »

przypadkowo mam skrypcik:

[php]<?php
$napis=""; //tresc napisu narzucanego na obrazek
$color_n=""; //kolor RGB napisu np 255,0,0
$wlk=''; //wielkosc czcionki
$poz=''; //pozycja czcionki (wzgledem krawedzi)
$poz_st=''; //pozycja czcionki - wciecie
$nazwa_cz="l"; //rodzaj czcionki UWAGA!!! Czcionka musi byc wgrana do katalogu
$path=""; //katalog z fontami - niekiedy trzeba podac bezwzgledna sciezke na serwerze
$max_size_photo=''; //maksymalna wielkosc obrazka jaka moze byc wczytana w bajtach

function show_images($max_size,$wym_wiekszy,$wym_mniejszy,$plik,$jakosc){
global $napis,$color_n,$wlk,$poz,$poz_st,$nazwa_cz,$path,$max_size_photo;
$uiol=$max_size_photo/1000;
if (is_uploaded_file($plik['tmp_name'])==FALSE){echo "<html>PLIK NIE ZOSTAŁ PRZESŁANY:<br> ZAPEWNE JEST WIEKSZY NIŻ ".$uiol." KB</html>";}else{
if ($plik['size']>$max_size){
$asa=$max_size/1000;
$asa2=(int)($plik['size']/1000);
echo "<html>OBRAZEK PRZEKROCZYŁ DOZWOLONˇ WIELKO¦Ć. <BR>MAKSYMALNIE OBRAZEK MOŻE MIEĆ ".$asa." KB<br>TEN OBRAZEK MA ".$asa2." KB</html>";
}else{
$a=getimagesize($plik['tmp_name']);
if ($a[2]!=2){
echo "OBRAZEK MUSI BYC W FORMACIE JPG";
}else{
if (($a[0]<$wym_wiekszy && $a[0]<$wym_mniejszy) || ($a[1]<$wym_wiekszy && $a[1]<$wym_mniejszy)){
echo "<html>OBRAZEK MUSI MIEĆ CO NAJMNIEJ ".$wym_wiekszy."x".$wym_mniejszy." PIKSELI, LUB ".$wym_mniejszy."x".$wym_wiekszy." PIKSELI
<br>TEN OBRAZEK MA ".$a[0]."x".$a[1]." PIKSELI</html>";
}else{
if ($a[0]>=$a[1]){$width=$wym_wiekszy;$height=$wym_mniejszy;$ang=0;$aa=$poz_st;$bb=$height-$poz;}else{$width=$wym_mniejszy;$height=$wym_wiekszy;$ang=90;$aa=$poz+$wlk;$bb=$height-$poz_st;}
if ($a[0]/$a[1]>=$width/$height){$obcw=(($width*$a[1])/$height);$obch=$a[1];}else{$obcw=$a[0];$obch=(($a[0]*$height)/$width);}
$im1=imagecreatefromjpeg($plik['tmp_name']);
$im=imagecreatetruecolor($width, $height);


imagecopyresized ($im, $im1, 0, 0, 0, 0, $width+1, $height+1,$obcw, $obch);
$zzz=explode(",",$color_n);
$color = ImageColorAllocate ($im,$zzz[0],$zzz[1],$zzz[2]);
ImageTTFText ($im, $wlk, $ang, $aa, $bb, $color, $path."/".$nazwa_cz.".ttf",$napis);
imagejpeg($im,"",$jakosc);


imagedestroy ($im);



echo "<img border='0' src='".$im."' width=".$width." height=".$height.">";
}
}
}
}
}
?>[/php]
ODPOWIEDZ