להוסיף חתימה לתמונה

הוספת חתימה

להוסיף חתימה לתמונה נדרש בכמה פעמים כדי לחתום על התמונות באופן דיגיטלי למניעת זיוף. יתכן גם שהמטרה היא לטפח את התמונה בצורה כאלו שניתן יהיה להציג אותה בגלריה. כל מה שנדרש, זה לצייר חתימה על גבי תמונה עם הממשק המתקדם ביותר באמצעות ה-Aspose.PSD APIs ובצורה הנפלאה ביותר כפי שמוסבר להלן. חשוב לשים לב, דוגמה זו עושה שימוש במחלקת Graphics כדי לצייר תמונה נוספת עם חתימה על גבי משטח התמונה המקורית. כדי להדגים את הפעולה, נטען תמונת PSD מהדיסק ונצייר על התמונה המקורית תמונה נוספת עם חתימה בעזרת השיטה DrawImage של מחלקת Graphics. נשמור את התמונה התוצאה בתבנית PNG באמצעות מחלקת ה-PngOptions. להלן דוגמא של קוד המדגים איך להוסיף חתימה לתמונה. נוציא לחלקים את קוד המקור לדוגמא כדי להפוך את הסעיף לקל לעקוב אחריו. באופן דרגני, הדוגמא מראה כיצד לבצע:

  • טעינת התמונות הראשיות והמשניות (חתימה).
  • יצירת אובייקט מחלקת ה-Graphics ואיתורו.
  • ציור התמונה בשימוש בשיטת הציור DrawImage של מחלקת ה-Graphics.
  • שמירה של התוצאה בתבנית PNG.

דוגמאות לתוכניות

טעינת התמונות

ראשית, צרו אינסטנסיה של מחלקת Image כדי לטעון את התמונות הדוגמא מהדיסק.

יצירת ואיתור אובייקט מחלקת Graphics

לאחר טעינת התמונות, צרו ואתרו אובייקט של מחלקת Graphics בעת שימוש באובייקט התמונה הראשית.

ציור התמונה המשנית על גבי התמונה הראשית

לאחר מכן, באמצעות השיטה DrawImage של מחלקת Graphics, הוסיפו את התמונה המשנית לתוך התמונה הראשית. ישנם מספר גרסאות של השיטה DrawImage המקבלות אובייקט של Image כפרמטר ראשון על מנת שכל הפרמטרים האחרים ייוודו למיקום בו יש לצייר את התמונה. לצורך הדגמה, הקוד הבא משתמש בגרסה של DrawImage שמקבלת אובייקט של Point כפרמטר שני ומנסה לצייר את החתימה בקצה הימני התחתון של התמונה הראשית.

שמירת התמונה

לבסוף, שמרו את התמונה חזרה לדיסק המקומי כקובץ PNG באמצעות מחלקת ה-PngOptions.

המקור המלא

String dataDir = Utils.getDataDir(AddSignatureToImage.class) + "DrawingImages/";
// Create an instance of Image and load the primary image
try (Image canvas = Image.load(dataDir + "layers.psd");
// Create another instance of Image and load the secondary image containing the signature graphics
Image signature = Image.load(dataDir + "sample.psd")) {
// Create an instance of Graphics class and initialize it using the object of the primary image
Graphics graphics = new Graphics(canvas);
// Call the DrawImage method while passing the instance of secondary image and appropriate location. The following snippet tries to draw the secondary image at the right bottom of the primary image
graphics.drawImage(signature, new Point(canvas.getHeight() - signature.getHeight(), canvas.getWidth() - signature.getWidth()));
canvas.save(dataDir + "AddSignatureToImage_out.png", new PngOptions());
}