เพิ่มลายเซ็นลงในภาพ

การเพิ่มลายเซ็น

การเพิ่มลายเซ็นลงในภาพบางครั้งจำเป็นต้องเซ็นลายดิจิทัลในภาพเพื่อป้องกันการลอกเลียนแบบ ความคิดอื่นๆ อาจจะเป็นเพื่อจัดการภาพให้มีลักษณะเหมือนกับการแสดงในห้องแสดงศิลปะ อย่างใดก็ตามเหตุผลที่อยู่ข้อเสนอ API ของ Aspose.PSD ให้คุณสามารถเพิ่มลายเซ็นลงในภาพอย่างง่ายด้วยการใช้กลไกที่อธิบายด้านล่าง เพจแรก, ตัวอย่างนี้ใช้คลาส Graphics เพื่อวาดภาพอื่นๆ พร้อมลายเซ็นลงบนพื้นผิวของภาพเดิม ที่จะอธิบายการดำเนินการ, เราจะโหลดภาพ PSD จากดิสก์และวาดภาพอื่นๆ เป็นลายเซ็นบนพื้นผิวของภาพเดิมโดยใช้คลาส Graphics DrawImage วิธีการ เราจะบันทึกภาพผลลัพธ์ในรูปแบบ PNG ด้วยคลาส PngOptions มักมีรหัสตัวอย่างที่อธิบายวิธีการเพิ่มลายเซ็นลงในภาพ รหัสตัวอย่างได้ถูกแบ่งเป็นส่วนเพื่อกำหนดให้ง่ายต่อการตามอ่าน หัวข้อหลักต่อไป แสดงวิธีการ:

  • โหลดภาพหลักและภาพทุกสิ่น
  • สร้างและกำหนดค่าออบเจ็คกราฟิก
  • วาดภาพโดยใช้วิธีการ DrawImage ของคลาส Graphics
  • บันทึกผลลัพธ์ในรูปแบบ PNG

ตัวอย่างโปรแกรม

โหลดภาพ

ตัวอย่างแรก, สร้างอินสแตนซ์ของคลาสอิมเมจเพื่อโหลดภาพตัวอย่างจากดิสก์

สร้างและกำหนดค่าออบเจ็คกราฟิก

หลังจากโหลดภาพ, สร้างและกำหนดค่าออบเจ็คของคลาสกราฟิกในขณะที่ใช้ออบเจ็คของภาพหลัก

วาดภาพทุกสิ่นลงบนภาพหลัก

จากนั้นใช้วิธีการ DrawImage ของคลาสกราฟิกเพิ่มภาพทุกสิ่นลงในภาพหลัก มีมากกว่าหนึ่งตัวเลือกรุ่นของวิธีการ DrawImage ที่ยอมรับออบเจ็คของอิมเมจเป็นพารามิเตอร์แรก ในขณะที่พารามิเตอร์ทั้งหมดที่เป็นตัวพารามิเตอร์ให้ตรงกับสถานที่ที่ภาพต้องวาด สำหรับการสาธิต, รหัสต่อไปนี้ใช้รุ่นของ DrawImage ที่ยอมรับออบเจ็คของพอยต์เป็นพารามิเตอร์ที่สองและพยายามที่จะวาดลายเซ็นลงบนมุมขวาล่างของภาพหลัก

บันทึกภาพ

สุดท้าย, บันทึกภาพกลับไปยังดิสก์ท้องถิ่นในรูปแบบไฟล์ PNG โดยใช้คลาส PngOptions

ต้นฉบับทั้งหมด

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
// Create an instance of Image and load the primary image
using (Image canvas = Image.Load(dataDir + "layers.psd"))
{
// Create another instance of Image and load the secondary image containing the signature graphics
using (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.Height - signature.Height, canvas.Width - signature.Width));
canvas.Save(dataDir + "AddSignatureToImage_out.png", new PngOptions());
}
}