پی ایچ پی کی مدد سے تصویر پر لکھیں

PHP پروگرامنگ لینگوئج میں GD کے نام سے ایک لائبریری شامل ہے جو نئی تصویر بنانے اور پرانی تصویر پر لکھنے کی سہولت مہیا کرتی ہے۔ اس لائبریری میں بہت سے فنکشنز موجود ہیں جن کی مدد سے نہ صرف مختلف رنگوں اور فونٹس کے ساتھ عبارتیں لکھی جا سکتی ہیں بلکہ مختلف ڈرائنگز مثلاً‌ لائن، ڈبے اور دائرے وغیرہ بھی بنائے جا سکتے ہیں۔ اس ٹٹوریل میں ہم ایک نمونے کی تصویر پر PHP کوڈ کی مدد سے عبارت لکھیں گے اور پھر اسے نئی تصویر کے طور پر محفوظ کریں گے۔ آئیں مختصر طور پر اس کا طریقہ دیکھتے ہیں:


آپ ایک تصویر دیکھ رہے ہیں جس پر ابھی کچھ نہیں لکھا گیا۔ اس تصویر پر ہم PHP کی مدد سے لکھیں گے۔

تصویر جس پر ابھی پی ایچ پی کی مدد سے لکھا نہیں گیا


درج ذیل کوڈ میں کامنٹس کی سطروں کے ساتھ نمبر دیے گئے ہیں، ان نمبروں کے اعتبار سے کوڈ کی وضاحت دیکھیں:

  1. پہلی پانچ سطروں پر کچھ ویری ایبلز تیار کیے گئے ہیں جنہیں اگلے مرحلے میں استعمال کیا جائے گا۔ image_path$ ویری ایبل میں اس تصویر کا فائل پاتھ ہے جس پر ہم لکھنا چاہتے ہیں۔ image$ ویری ایبل میں ()imagecreatefrompng فنکشن کی مدد سے امیج حاصل کی گئی ہے۔ color$ ویری ایبل میں ()imagecolorallocate فنکشن کی مدد سے مطلوبہ تصویر پر استعمال کرنے کے لیے ایک رنگ ڈیفائن کیا گیا ہے۔ یہ فنکشن بائیں طرف سے پہلے امیج کا پیرامیٹر لیتا ہے، اور پھر اس کے بعد تین رنگوں کے پیرامیٹرز یعنی RGB لیتا ہے۔ اگلی لائن پر font_size$ ویری ایبل میں فونٹ کا وہ سائز متعین کیا گیا ہے جو ہم عبارت کے لیے استعمال کرنا چاہتے ہیں۔ اگر آپ عبارتوں کے سائز مختلف رکھنا چاہتے ہیں تو پھر ہر عبارت کو تصویر پر لکھنے سے پہلے اس کے لیے نئے سرے سے فونٹ سائز ڈیفائن کریں۔ اس کے بعد font_file$ ویری ایبل میں اس فونٹ فائل کا نام ہے جو تصویر پر لکھنے کے لیے استعمال کی جائے گی۔ اس فونٹ کی اصل فائل کا فولڈر میں موجود ہونا ضروری ہے۔ اور پھر angle$ ویری ایبل کی ویلیو صفر رکھی گئی ہے، کیونکہ ہم عبارت کو کسی زاویے پر نہیں بلکہ بالکل سیدھا رکھنا چاہتے ہیں۔
  2. اس مرحلے میں تصویر پر پانچ سطریں لکھی گئی ہیں۔ ہر سطر کی عبارت کے لیے text$ ویری ایبل استعمال کیا گیا ہے۔ اور تصویر پر عبارت کی پوزیشن سیٹ کرنے کے لیے from_left$ اور from_top$ ویری ایبلز استعمال کیے گئے ہیں۔ اس مرحلے تک بنائے گئے ویری ایبلز ()imagettftext فنکشن کو مہیا کیے گئے ہیں۔ یہ فنکشن تصویر کے پر عبارت لکھنے کے لیے استعمال کیا جاتا ہے۔ کوڈ میں اس فنکشن کو جو ویری ایبلز مہیا کیے گئے ہیں ان کی مدد سے آپ سمجھ سکتے ہیں کہ یہ فنکشن کونسے پیرامیٹرز لیتا ہے۔
  3. تصویر پر عبارتیں لکھنے کے بعد ()imagepng فنکشن کی مدد سے ایک نئی امیج فائل بنائی گئی ہے۔ اگر آپ کسی دوسرے فارمیٹ میں تصویر محفوظ کرنا چاہیں تو ان کے فنکشنز استعمال کر سکتے ہیں، مثلاً‌ ()imagegif اور ()imagejpeg وغیرہ۔
  4. اور پھر آخر میں ایک HTML ٹیگ کی مدد سے یہ تصویر براؤزر میں دکھائی گئی ہے۔

<?php
// (1)
$image_path 'card.png';
$image imagecreatefrompng($image_path);
$color imagecolorallocate($image000000000);
$font_size 17;
$font_file 'times.ttf'// font file must be in the folder
$angle 0;

// (2)
$text "Eyes full of tears, hearts without fears";
$from_left 30;
$from_top 135;
imagettftext($image$font_size$angle$from_left$from_top$color$font_file$text);

$text "Wondered faces, still bodies, no more cheers";
$from_top 165;
imagettftext($image$font_size$angle$from_left$from_top$color$font_file$text);

$text "Scattered dreams all over, everyone peers";
$from_top 195;
imagettftext($image$font_size$angle$from_left$from_top$color$font_file$text);

$text "Proud of this nation, such a losses that bears";
$from_top 225;
imagettftext($image$font_size$angle$from_left$from_top$color$font_file$text);

$text "(Peshawar: December 16th, 2014)";
$font_size 13;
$from_top 260;
imagettftext($image$font_size$angle$from_left$from_top$color$font_file$text);

// (3)
imagepng($image'changed_image.png');

// (4)
print "<img src='changed_image.png'>";
?>


اس کوڈ نے تصویر پر درج ذیل سطریں لکھی ہیں:

تصویر جس پر پی ایچ پی کی مدد سے چند لائنیں لکھی گئی ہیں

Categories: