আসসালামু আলাইকুম,
এই বিষয়ে মুলত কমল ভাইজান এক্সপার্ট। তবুও আমার কাছে যে স্ক্রিপ্ট গুলো আছে তা আমি শেয়ার করবো ইনশাআল্লাহ।
পিএইচপি প্রোগ্রাম রান করাতে হলে অবশ্যই ওয়েব সার্ভার লাগবে। কিন্তু ওয়েব সার্ভার থাকতে হলে লাগবে টাকা। টাকা যদি থাকে বা ওয়েবসারভার কেনা থাকলে এটা রান করা কোনো ব্যাপার না, ফাইল আপলোড করে ব্রাউজার দিয়ে খুললেই হবে।
আমাদের জন্য আমরা একটা অফলাইনে অ্যাপাচি সার্ভার সিমিউলেট করতে হবে। এর নাম xampp.
ডাউনলোড করে নাও এখান থেকে https://www.apachefriends.org
এখন সেটআপ শেষ হলে সি ড্রাইভে গিয়ে xampp ফোল্ডারে যাও এবং htdocs ফাইল ফোল্ডার ওপেন কর।
সেখানে একটা ফাইল খুলো watermark নামে বা যেকোনো নামে।
এখন ব্রাউজার খুলো।
অ্যাড্রেস বারে লিখো http://localhost/"তোমার দেওয়া ফোল্ডারের নাম"
আমার ক্ষেত্রে water
http://localhost/water
এবার ঐ ফোল্ডারে ইনডেক্স ডট পিএইচপি ফাইল তৈরি কর কোন টেক্সট ফাইল এডিটর দিয়ে।
ইনডেক্স ফাইলে নিচের কোড দিয়ে দাও। (ভুল কোড ঠিক করা হয়েছে)
<?php
header('content-type: image/png');
if (isset($_GET['file'])) {
$source = $_GET['file'];
$watermark = imagecreatefrompng('logo.png');
$watermark_width = imagesx($watermark);
$watermark_height = imagesy($watermark);
$image = imagecreatetruecolor($watermark_width, $watermark_height);
$image = imagecreatefrompng($source);
$image_size = getimagesize($source);
$x = $image_size[0] - $watermark_width - 10;
$y = $image_size[1] - $watermark_height - 10;
imagecopymerge ($image, $watermark, $x, $y, 0, 0, $watermark_width, $watermark_height, 20);
imagepng($image);
}
else {
echo 'No Source';
}
?>
লাল রঙ দিয়ে মার্ক করা logo.png ফাইলটি হবে ওয়াটারমার্ক ইমেজ। যেটা মুল ছবির উপরে বসবে।
সবুজ রঙ্গে মার্ক করা ভেরিয়েবল গুলো হল ওয়াটারমার্ক কো অরডিনেট। এর মাধ্যমে ওয়াটারমারকের অবস্থান বদলানো যায়।
আর কালো রঙ দিয়ে মার্ক করা ডিজিট হল ওয়াটার মার্ক কতটা গাড় হবে তার ভেরিয়েবল। ২০ থেকে যতো বাড়বে, ওয়াটার মার্ক আরও গাড় হবে।
এবার ওয়াটার মার্ক ফাইল, যে ফাইল ওয়াটার মার্ক করবে সেটা সব ঠিক মতো ডিরেক্টরিতে রেখে এভাবে ব্রাউজার দিয়ে চালু করো,
http://localhost/water/index.php?file=Penguins.png
আমার এটা কেবল পিএনজি ফরম্যাটের ফাইল সাপোর্ট করে।
যদি অন্য ফাইল ফরম্যাট সাপোর্ট করাতে চাও তবে
যদি অন্য ফাইল ফরম্যাট সাপোর্ট করাতে চাও তবে
header('content-type: image/png'); বদলে
header('content-type: image/jpg'); বা
header('content-type: image/gif'); করে দাও
এবং imagecreatefrompng কে imagecreatefrom'format name' করে দাও।
header('content-type: image/jpg'); বা
header('content-type: image/gif'); করে দাও
এবং imagecreatefrompng কে imagecreatefrom'format name' করে দাও।
এবং imagepng($image); কে কাঙ্ক্ষিত ফাইল ফরম্যাট করে নিতে হবে।
আমি এখন GET দিয়ে করতে পারছি।কিন্ত FILES দিয়ে করতে পারছি না। FILES array দিয়ে করতে পারলে ইমেজ আপলোড করে ওয়াটারমার্ক করা যেতো।এজন্যে যেসব ছবি ওয়াটার মার্ক করবে, সেগুলো index.php এর সাথে একই ফোল্ডারে রাখতে হবে। ফাইল আপলোড অপশন অ্যাড করা গেলে আমি আবার পোস্ট করে জানিয়ে দেব।কেউ পারলে অবশ্যই আমাকে জানাবে এবং ইনবক্স করবে।
আমি ফেসবুকে আছি,