របៀបដាក់រូបភាព ឬផ្លាកសញ្ញា (Watermark) អ្វីមួយនៅលើរូបភាព
ការដាក់ watermark លើរូបភាពដែលបានបញ្ចូល គឺដើម្បីការពាររូបភាពដើម ដែលអាចមានការយកទៅប្រើប្រាស់នៅ website ផ្សេង។ ដំណោះស្រាយ គឺប្រើប្រាស់ PHP Language ដើម្បីដាក់បញ្ចូលរូបភាព ជាមួយនឹងរូបភាព PNG ដែលមានស្រាប់ (transparent watermark image) បង្កើតបានជារូបភាពថ្មី មានជាប់មកជាមួយ watermark ។ យើងអាចដាក់ទីតាំង watermark ទៅតាមតំរូវការ របស់ programmer ។
សូមលើកយកគន្លឹះផ្សេងៗ៖
ជំហានដំបូង ត្រូវបង្កើត Form មួយនៅក្នុង File watermark.php ដើម្បី Upload image ដូចរូបខាងក្រោម៖
ជាលទ្ធផល វានឹងបង្ហាញ Form នៅលើ Browser ដូចរូប៖
បន្ទាប់មក សរសេរកូដ PHP ដូចរូបខាងក្រោម៖
ការដាក់ Text ជា Watermark នៅពេល Upload រូបភាព
មិនត្រឹមតែអាច Upload រូបភាពជាមួយនឹង Transparent Watermark នោះទេ ថែមទាំងអាចដាក់ Text នៅលើរូបភាពបានទៀតផង។ នៅក្នុងផ្នែកនេះ ខ្ញុំសូមបង្ហាញគន្លឹះដូចខាងក្រោម៖
ជំហានដំបូង ត្រូវបង្កើត Form មួយនៅក្នុង File watermark_text.php ដូច Form នៅក្នុង File watermark.php ដែរ ។ បន្ទាប់មក បង្កើត Function មួួយឈ្មោះ watermark_text() ដូចរូបខាងក្រោម៖
បន្ទាប់មកទៀត Check file ដែលត្រូវ Upload ដោយកំណត់យកតែប្រភេទរូបភាព Jpeg ឬ Jpg ហើយមានទំហំតែ 512 KB ប៉ុណ្ណោះ ។ មើលរូបខាងក្រោម៖
ជាលទ្ធផល អ្នកនឹងទទួលបានដូចរូបខាងក្រោម៖
កំណត់ចំណាំ៖ ក្នុងការបញ្ចូលរូបភាព លាយជាមួួយ watermark គឺប្រើប្រាស់ PHP function ជាច្រើន ដូចជា
- strtolower(string
$string
) : Convert String ទៅជា String ដែលមានតួអក្សរតូចទាំងអស់។ - imagecreatefrompng(string $filename), imagecreatefromgif(string $filename), imagecreatefromjpeg(string $filename) : បង្កើត Image មួយដែលចេញពី file ដែលយកមកពី Local ឬយកចេញពី URL ។ $filename គឺជា path នៃ image ឬជា URL ។
- getimagesize(string
$filename
) : ចាប់យកទំហំរបស់ image ដែលមាន Width និងHeight ។ - imagecopy($image_resource, $watermark, $watermark_left, $watermark_bottom, 0, 0, 200, 55) : copy watermark image ដែលមាន width = 200 pixel និង height = 55 pixel ទៅដាក់ នៅផ្នែកខាងឆ្វេង $watermark_left = 10 និងផ្នែកខាងក្រោម $watermark_bottom = 25 នៃ image_source ដែលបានបង្កើត ។
- imagejpeg($image_resource, $destination_folder.’/’.$image_name , 100) : បង្កើត jpeg image file មួយហើយដាក់ក្នុង Directory ដែលបានបង្កើត ជាមួយនឹងគុណភាពនៃរូបភាព (quality = 100) ។ គុណភាពនៃរូបភាព (quality) ជា optional parameter (មានក៏បាន មិនមានក៏បាន) ស្ថិតនៅចន្លោះពី សូន្យ ដល់ មួយរយ ហើយ ជា default គឺ 75 ។
- imagedestroy($image_resource) : Clear memory ចេញពី image source ។