מדריכים

אוג 12 נכתב ע"י 
פורסם ב- מדריכים

הוספת סימן מים על תמונות באתר - לגזור ולשמור

דרג פריט זה
(110 הצבעות)

המדריך הזה מתאים למי שרוצה להוסיף סימן מים לתמונות באופן אוטומטי ללא קשר למערכת הניהול תוכן (וורדפרס, ג'ומלה וכו'). האפשרות הזאת פועלת על שרתי APACHE באמצעות אחד מרכיביו הנקרא htaccess.

קובץ ה- htaccess. מאפשר להגדיר תצורה לתיקיות בשרת כמו במקרה שלנו. אנחנו נגדיר לשרת לבצע הדבקת סימן מים לכל תמונה שתוצג בתיקיה שנבחר ללא קשר לסוג מערכת הניהול או איך האתר מציג את התמונה.

כדי לעשות זאת אנחנו צריכים להכין 3 קבצים:

  1. קובץ htaccess.
  2. קובץ watermark.php
  3. קובץ תמונה watermark.png

כל הקבצים צריכים להיות בתיקיה הראשית של התמונות שבה נרצה שיתווסף הסימן מים לכל התמונות שלה כולל תיקיות המשנה שלה.

ראשית אנחנו ממליצים לכם להמשך לקבל מדריכים מגניבים כמו זה בעמוד הפייסבוק
קוד פתוח - דברו איתנו שם לשאלות ותמיכה

שלב 1 - יצירת קובץ התמונה שיודבק לתמונות כסימן מים

מומלץ להכין את הקובץ בפורמט PNG כדי שיוכל לקבל שקיפות מסוימת שתטמע בתמונה. בנוסף נכין אותו במימדים סבירים שיתאימו ככל הניתן לכל מידות התמונות שבתיקיה.

לאחר שהכנתם את התמונה שמרו אותה בשם watermark.png בתיקיית התמונות הראשית.

שלב 2 - יצירת קובץ watermark.php

להלן הקוד שיש להכניס לקובץ החדש שלנו:

<?php
  function imagecreatefromfile($image_path) {
    list($width, $height, $image_type) = getimagesize($image_path);
    switch ($image_type)
    {
      case IMAGETYPE_GIF: return imagecreatefromgif($image_path); break;
      case IMAGETYPE_JPEG: return imagecreatefromjpeg($image_path); break;
      case IMAGETYPE_PNG: return imagecreatefrompng($image_path); break;
      default: return ''; break;
    }
  }

  $image = imagecreatefromfile($_GET['image']);
  if (!$image) die('Unable to open image');

  $watermark = imagecreatefromfile($_GET['watermark']);
  if (!$image) die('Unable to open watermark');

  $watermark_pos_x = imagesx($image) - imagesx($watermark) - 100;
  $watermark_pos_y = imagesy($image) - imagesy($watermark) - 200;

  imagecopy($image, $watermark,  $watermark_pos_x, $watermark_pos_y, 0, 0,
    imagesx($watermark), imagesy($watermark));

  header('Content-Type: image/jpeg');
  imagejpeg($image, NULL, 100);

  imagedestroy($image);
  imagedestroy($watermark);

?>

כדי לקבוע את מיקום הסימן מים שנו את המספרים המסומנים בצהוב, שחקו עם זה קצת עד שתמצאו את הנקודה המתאימה לכם ביותר.

המספר המסומן התכלת קובע את איכות התמונה, המספר 100 מגדיר איכות המקסימאלית.

שמרו את הקובץ בתיקיה הראשית של התמונות.

שלב 3 - יצירת קובץ htaccess.

הכניסו לשם את הקוד הבא:

RewriteEngine On
RewriteRule ^([^tn].*\.(gif|jpg|png))$ /images/watermark.php?image=$1&watermark=watermark.png [NC]

שימו לב! החליפו את הנתיב לקובץ watermark.php להיכן שהוא נמצא בשרת החל מתיקיית האתר. לפי הדוגמה זה הנתיב לקובץ http://www.your-site.co.il/images/watermark.php וכמובן שימו לב שאתם לא מוחקים את הקוד שלפני ואחרי הנתיב.

שמרו את הקובץ בתיקיה הראשית של האתר וזהו סיימנו!

לשאלות ותמיכה תוכלו לפנות אלינו בעמוד הפייסבוק קוד פתוח

תגיות: :
3556 עודכן לאחרונה ב רביעי, 02 נובמבר 2016
מר קפה // יחי

שלום רב, שמי יחי כהן מפתח ומקדם אתרי אינטרנט. בגלל אהבתי לקפה קראתי לבלוג שלי "מר קפה". מקווה שתהנו מהתוכן, אשתדל לעדכן כמה שיותר ואתם תמיד מוזמנים לעמוד הפייסבוק שלי.