Teks pada gambar php secara dinamis

Dalam posting ini kami menggunakan dua fungsi seperti watermark_text() dan watermark_image() untuk menghasilkan teks dan gambar watermark pada gambar. Integrasikan ini ke proyek web Anda, unggah teks dinamis sistem gambar dan hasilkan gambar selebaran

$font_path = "GeosansLight.ttf";
$font_bold = "Typo Grotesk Demo.otf";
$font_size = 20;       // in pixcels
$fly_name="Hi, I am ".$_SESSION['name'];
  $looking="Looking for";
  $accom= $_POST['accomodation']. " | " .$_POST['furnished'];
  $location_f = $_POST['location'].", ".$cityname;
  $rent_f = "Rent Rs ".$_POST['rent'];
  $tenant_type_f=$_POST['tenant_type'];
function watermark_image($oldimage_name, $new_image_name){
global $image_path;
list($owidth,$oheight) = getimagesize($oldimage_name);
$width = 200;  
$height = 300; 
$im = imagecreatetruecolor($width, $height);
$img_src = imagecreatefromjpeg($oldimage_name);
imagecopyresampled($im, $img_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
$watermark = imagecreatefrompng($image_path);
list($w_width, $w_height) = getimagesize($image_path);        
pos_x = $width - $w_width; 
$pos_y = $height - $w_height;
imagecopy($im, $watermark, $pos_x, $pos_y, 0, 0, $w_width, $w_height);
imagejpeg($im, $new_image_name, 100);
imagedestroy($im);
return true;
}


function watermark_text($oldimage_name, $new_image_name){
global $font_path,$font_bold, $font_size, $location_f,$fly_name,$looking,
$tenant_type_f,$accom,$rent_f;
list($owidth,$oheight) = getimagesize($oldimage_name);
$width = 2300;  
$height = 300;    		
$image = imagecreatetruecolor($width, $height);
$image_src = imagecreatefromjpeg($oldimage_name);
imagecopyresampled($image, $image_src, 0, 0, 0, 0, $width, $height, $owidth, $oheight);
$white = imagecolorallocate($image, 255, 255, 255);
$black = imagecolorallocate($image, 0, 0, 0);
$yellow = imagecolorallocate($image, 255, 240, 125);
imagettftext($image, 18, 0, 10, 40, $white, $font_bold, $location_f);
imagettftext($image, 18, 0, 30, 90, $black, $font_path, $fly_name);
imagettftext($image, 22, 0, 50, 130,$black, $font_path, $looking);
imagettftext($image, 28, 0, 50, 175, $white, $font_bold, $tenant_type_f);
imagettftext($image, 14, 0, 50, 210, $black, $font_path, $accom);
imagettftext($image, 22, 0, 50, 250, $yellow, $font_bold, $rent_f);
imagejpeg($image, $new_image_name, 100);
imagedestroy($image);
return true;
}
$demo_image= "";

imagettftext — Fungsi gambar pustaka GD digunakan untuk Menulis teks ke gambar menggunakan font TrueType

imagecolorallocate — Alokasikan warna untuk gambar. Dibutuhkan empat argumen, format warna Gambar dan RGB

Banyak tempat di mana Anda telah melihat banyak gambar di mana beberapa teks telah ditambahkan secara dinamis. Misalnya tanda air dan gambar atau skrip yang diinginkan di mana pengguna menulis nama mereka dan nama itu secara otomatis ditambahkan ke gambar. Hari ini saya akan mengajari Anda cara menambahkan teks ke gambar dengan menggunakan PHP. Anda juga dapat mengunduh file sumber dari akhir artikel

Jadi tujuan kami adalah pengguna memasukkan nama apa pun ke kotak teks dan kemudian klik kirim, itu akan ditambahkan secara otomatis ke dan gambar pada posisi tertentu. Saya berasumsi Anda telah menginstal server lokal seperti xampp atau wamp. Jadi pertama-tama tulis kode HTML dasar seperti di bawah ini dan simpan sebagai index. php

<!doctype html>
<html lang="en">
	<head>
		<!-- Required meta tags -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<title>Add text to image by using PHP</title>
	</head>
	<body>
		<form action="index.php" method="post">
			<input type="text" name="user_name">
			<button type="submit">Set Name</button>
		</form>
		
	</body>
</html>
_

Kode di atas memiliki satu formulir dengan kotak teks dan tombol kirim. Kami telah menetapkan tindakan ke file yang sama i. e. indeks. php dan metode harus POST. Sekarang kita akan menulis kode PHP untuk menangani permintaan POST

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>

Kode di atas kita akan memeriksa apakah metodenya POST atau tidak. Jika pengguna memasukkan teks apa pun dan mengklik kirim, maka variabel $_POST menyimpan teks ke nama_pengguna. Pada dasarnya, $_POST adalah larik yang menyimpan data yang dikirimkan pengguna ke elemen nama_pengguna. Jika metodenya bukan POST maka itu akan menampilkan kode yang ada di bagian lain. Di bawah ini adalah kode lengkap index. file php-

<!doctype html>
<html lang="en">
	<head>
		<!-- Required meta tags -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<title>Add text to image by using PHP</title>
	</head>
	<body>
	
		<?php
    
			//check if method is post
			if($_POST){
				
				//get username
				$user_name = $_POST['user_name'];

				//show the user text on image
				echo '<img src="img.php?user='.$user_name.'">';

			}else{
				echo '<img src="img.php">';
			}
		?>

		<form action="index.php" method="post">
			<input type="text" name="user_name">
			<button type="submit">Set Name</button>
		</form>
		
	</body>
</html>

Bagian lain berisi gambar. Tapi perhatikan, bukan file gambar biasa i. e. . jpg,. gif,. png, kami menggunakan file PHP. Di sini img. File php berfungsi sebagai gambar dengan mengubah tajuknya melalui PHP. Jadi buat file lain bernama img. php di lokasi yang sama di mana index. php hadir

Pertama kita perlu memberi tahu browser bahwa ini adalah file gambar. Jadi kita akan menambahkan tajuk di bagian atas skrip

header("Content-type: image/jpeg");
_

Saat kami mengatur tipe konten file adalah image/jpeg dengan kode di atas, ketika browser membuka img. php, ia akan mengira file tersebut adalah gambar jpeg. Jika kita mengatur image/png, maka browser akan mengira file tersebut adalah file png

Setelah itu, buat folder bernama gambar di mana index. php dan img. php hadir. Di dalam salinan folder dan gambar jpeg. Saya telah menyalin gambar dan menamainya base-img. jpg. Buat variabel dan simpan lokasi gambar seperti ini-

$img_path = "images/base-img.jpg";

Di sini kita menggunakan font tipe benar khusus. Jadi buat folder lain bernama font dan salin font apa pun ke folder ini. Saya telah menyalin font dan mengganti namanya menjadi font. Anda dapat menggunakan nama asli font itu atau Anda dapat mengganti namanya menjadi nama apa pun. Setelah itu buat variabel bernama $font_path dan simpan lokasi font seperti di bawah ini-

$font_path = realpath("font/font.ttf");
_

Di sini Anda dapat melihat saya menggunakan realpath(). Di sini realpath akan mengembalikan lokasi absolut dari file font di mana jalur relatif menunjukkan URL situs web, bukan jalur internal. Setelah itu, kita akan membuat objek gambar dengan fungsi imagecreatefromjpeg(). Perlu diingat, karena kami menggunakan format jpeg makanya kami menggunakan fungsi imagecreatefromjpeg(). Jika kita ingin menambahkan teks ke format gambar png, maka gunakan fungsi imagecreatefrompng()

fungsi imagecreatefromjpeg() mengambil lokasi file gambar, itu sebabnya kami meneruskan $img_path sebagai lokasi gambar

$jpg_img = imagecreatefromjpeg($img_path);

Sekarang misalkan pengguna memasukkan nama mereka dan mengklik kirim, di index. php variabel $_POST menyimpan nama. Kita bisa mendapatkan nama dengan kode di bawah ini -

$user_name = $_POST['user_name'];
_

Kita akan meneruskan $user_name ke img. php sebagai string kueri seperti di bawah ini-

//show the user text on image
echo '<img src="img.php?user='.$user_name.'">';
_

Di img. php dengan menggunakan fungsi isset(), kita akan memeriksa apakah variabel string query user sudah diset atau belum. Jika ya, maka simpan data tersebut ke dalam variabel $text. Lihat kode di bawah ini –

if(isset($_GET['user'])){
	$text = $_GET['user'];
}

Bagaimana cara mengatur warna untuk menambahkan teks secara dinamis pada gambar di PHP?

Sekarang kita perlu mengatur warna teks. Dengan menggunakan fungsi imagecolorallocate() kita dapat mengatur warna teks yang diinginkan. Ini akan mengambil gambar dan warna sebagai parameter. Jadi parameter pertama adalah gambar yang dibuat dari fungsi imagecreatefromjpeg(). Lihat kode di bawah ini-

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>
0

Di sini $jpg_img menyimpan gambar melalui fungsi imagecreatefromjpeg(), dan meneruskan nilai RGB. Di sini nilai RGB adalah 255, 255, 255. Jadi warnanya akan putih

Bagaimana cara menambahkan teks ke gambar itu?

Kita dapat mengatur teks menjadi gambar dengan menggunakan fungsi imagettftext(). Sintaks fungsinya adalah-

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>
1

Jadi kode kita harus seperti ini –

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>
2

Parameter pertama adalah $jpg_img yang menyimpan gambar yang dibuat dari fungsi imagecreatefromjpeg(). Yang ke-2 adalah 30 yang merupakan ukuran font. Jika Anda ingin memutar teks maka Anda dapat meneruskan angka ke parameter. Karena kami tidak ingin merotasi, itulah mengapa melewati 0. Parameter ke-4 dan ke-5 adalah untuk lokasi teks di mana Anda ingin menampilkan teks dan parameter lainnya cukup mudah

Jika Anda ingin menambahkan teks lain ke posisi lain dengan warna atau ukuran font berbeda, buat baris lain dengan imagettftext(). Jika Anda menginginkan font atau warna yang berbeda, ubah jalur font ke font lain atau ubah nilai RGB di imagecolorallocate($jpg_img, 150, 200, 230);

Bagaimana menemukan koordinat x, y gambar menggunakan alat Paint?

Buka gambar di Paint. Gerakkan penunjuk mouse pada gambar tempat Anda ingin menampilkan tambahkan teks. Lihatlah ke sudut kiri bawah jendela cat. Anda bisa mendapatkan nilai posisi. Gunakan nilai posisi ke imagettftext()

Teks pada gambar php secara dinamis

berikut adalah kode lengkap img. file php-

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>
_3

imagejpeg($jpg_img) lagi membuat gambar dengan teks di atasnya. Terakhir, hancurkan gambar dengan fungsi imagedestroy($jpg_img).

Sebagai kesimpulan, jika Anda akan menghadapi masalah seperti gambar tidak muncul atau teks tidak ditampilkan pada gambar, coba beri komentar baris ("//") di img. php seperti di bawah ini

<?php
    
	//check if method is post
	if($_POST){
		
		//get username
		$user_name = $_POST['user_name'];


		//show the user text on image
		echo '<img src="img.php?user='.$user_name.'">';

	}else{
		echo '<img src="img.php">';
	}
?>
_4

Jadi Anda dapat dengan mudah men-debug kode jika Anda memiliki kesalahan untuk memberikan jalur font atau jalur gambar yang tepat. Terima kasih kawan. Semoga tutorial ini membantu Anda. Klik di sini untuk mengunduh file

Bagaimana cara menampilkan teks pada gambar di PHP?

Menyesuaikan teks untuk penggunaan Anda. .
Ubah $imgPath ke jalur gambar yang ingin Anda tambahkan teks di atasnya
Pada “ $color = imagecolorallocate($image, 255 , 255, 255) ” ubah kode warna menjadi warna yang sesuai dengan gambar. .
$string adalah teks yang akan ditambahkan di atas gambar
$fontSize adalah nomor ukuran font

Bagaimana cara menampilkan gambar secara dinamis di PHP?

Fungsi gambar pustaka GD adalah cara termudah untuk membuat gambar dinamis dengan teks dalam PHP . Dalam beberapa situasi, Anda perlu membuat gambar dengan cepat dan menulis teks dinamis ke gambar. Untuk menghasilkan gambar acak dinamis dengan PHP, pustaka GD perlu diinstal.

Bagaimana cara membuat galeri dinamis di PHP?

Galeri foto php dinamis .
Buat proyek. php-photo-gallery di direktori htdocs XAMPP
Unduh dan tambahkan gambar ke direktori
Buat file thumbnail. php untuk menghasilkan thumbnail gambar yang dinamis
Buat file galeri foto. php untuk menampilkan thumbnail dinamis sebagai galeri foto

Bagaimana cara membuat gambar dinamis?

Cara Membuat Gambar Dinamis .
Buat gambar dinamis menggunakan browser apa pun, tidak perlu perangkat lunak khusus
Hyper Personalisasikan gambar Anda;
Masukkan tangkapan layar situs web, logo perusahaan, gambar profil, tangkapan layar aplikasi, teks khusus, dan banyak lagi