เพิ่มลายน้ำให้กับ PSD ใน C#

แอปพลิเคชัน Photoshop ยอดนิยมของ Adobe ใช้ PSD (เอกสาร Photoshop) เป็นรูปแบบไฟล์รูปภาพดั้งเดิม โดยทั่วไปจะใช้ในการสร้างโลโก้ โบรชัวร์ และรูปภาพอื่นๆ โดยที่ไฟล์ PSD มีหลายเลเยอร์ เราสามารถป้องกันงานออกแบบได้อย่างง่ายดายโดยเพิ่มลายน้ำข้อความหรือรูปภาพลงในไฟล์ PSD โดยทางโปรแกรม ในบทความนี้ เราจะมาเรียนรู้วิธีเพิ่มลายน้ำให้กับ PSD ใน C#

บทความนี้จะครอบคลุมหัวข้อต่อไปนี้:

  1. C# Photoshop API เพื่อเพิ่มลายน้ำให้กับ PSD
  2. เพิ่มลายน้ำข้อความใน PSD
  3. สร้างลายน้ำแนวทแยงใน PSD
  4. เพิ่มลายน้ำรูปภาพใน PSD

C # Photoshop API เพื่อเพิ่มลายน้ำให้กับ PSD

หากต้องการเพิ่มลายน้ำข้อความหรือรูปภาพในไฟล์ PSD เราจะใช้ API ของ Aspose.PSD for .NET เป็น API การจัดการรูปแบบไฟล์ Adobe Photoshop ที่ใช้งานง่าย อนุญาตให้โหลดและอ่านไฟล์ PSD และ PSB ในแอปพลิเคชัน .NET API ช่วยให้เราสามารถอัปเดตคุณสมบัติเลเยอร์ เพิ่มลายน้ำ บีบอัด หมุน ปรับขนาดหรือเรนเดอร์ PSD และ รูปแบบไฟล์ที่รองรับ อื่นๆ อีกมากมายโดยไม่จำเป็นต้องติดตั้ง Adobe Photoshop

คลาส PsdImage ของ API ช่วยให้โหลด แก้ไข และบันทึกไฟล์ PSD ได้ คลาส Graphics แสดงถึงกราฟิกในภาพ เรามีเมธอด DrawString(string, Font, Brush, RectangleF, StringFormat) ของคลาสนี้ที่ดึงสตริงข้อความที่ระบุในสี่เหลี่ยมผืนผ้าที่ระบุด้วยแปรงและวัตถุแบบอักษรที่ระบุ คลาส Layer เป็นตัวแทนของเลเยอร์ PSD เมธอด DrawImage(Point, RasterImage) ของคลาสนี้จะวาดภาพบนเลเยอร์ เราสามารถบันทึก PSD ไปยังตำแหน่งไฟล์ที่ระบุได้โดยใช้เมธอด Save(string, ImageOptionsBase)

โปรด ดาวน์โหลด DLL ของ API หรือติดตั้งโดยใช้ NuGet

PM> Install-Package Aspose.PSD

เพิ่มลายน้ำข้อความให้กับ PSD โดยใช้ C#

เราสามารถเพิ่มข้อความใด ๆ เป็นลายน้ำในไฟล์ PSD โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก ให้โหลดไฟล์ PSD เป็น PsdImage โดยใช้คลาส Image
  2. จากนั้น สร้างอินสแตนซ์ของคลาสกราฟิก
  3. จากนั้นกำหนดวัตถุคลาส Font เพื่อวาดความกว้างของลายน้ำ
  4. จากนั้น สร้างอินสแตนซ์ของคลาส SolidBrush ด้วยสี
  5. จากนั้นระบุการจัดตำแหน่งสตริง
  6. หลังจากนั้นเรียกเมธอด DrawString()
  7. สุดท้าย บันทึกไฟล์ผลลัพธ์โดยใช้เมธอด Save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายน้ำข้อความในไฟล์ PSD ใน C#

// ตัวอย่างโค้ดนี้แสดงวิธีเพิ่มลายน้ำข้อความในไฟล์ PSD
// โหลดไฟล์ PSD เป็นรูปภาพและส่งไปยัง PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// สร้างวัตถุกราฟิกเพื่อดำเนินการวาด
Graphics graphics = new Graphics(psdImage);

// สร้างฟอนต์เพื่อวาดลายน้ำด้วย
Font font = new Font("Arial", 25.0f);

// สร้างแปรงทึบโดยตั้งค่าอัลฟาสีใกล้กับ 0 เพื่อใช้เอฟเฟกต์ลายน้ำ
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// ระบุการจัดแนวสตริงเพื่อใส่ลายน้ำที่กึ่งกลางรูปภาพ
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;
sf.LineAlignment = StringAlignment.Center;

// วาดลายน้ำโดยใช้ฟอนต์ แปรงโปร่งแสงบางส่วน และเมทริกซ์การหมุนที่กึ่งกลางภาพ
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, 0, psdImage.Width, psdImage.Height), sf);

// ส่งออกรูปภาพเป็นรูปแบบไฟล์ PNG
psdImage.Save(@"C:\Files\AddWatermark_output.png", new PngOptions());
เพิ่มลายน้ำข้อความให้กับ PSD โดยใช้ C#

เพิ่มลายน้ำข้อความให้กับ PSD โดยใช้ C#

เรายังสามารถบันทึกเอาต์พุตเป็นไฟล์ PSD โดยใช้ตัวอย่างโค้ดต่อไปนี้:

psdImage.Save(@"C:\Files\AddWatermark_output.psd", new PsdOptions());

สร้างลายน้ำแนวทแยงใน PSD โดยใช้ C#

เราสามารถเพิ่มลายน้ำข้อความในแนวทแยงลงในไฟล์ PSD โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก ให้โหลดไฟล์ PSD เป็น PsdImage โดยใช้คลาส Image
  2. จากนั้น สร้างอินสแตนซ์ของคลาสกราฟิก
  3. จากนั้นกำหนดวัตถุคลาส Font เพื่อวาดความกว้างของลายน้ำ
  4. ในขณะเดียวกัน สร้างอินสแตนซ์ของคลาส SolidBrush ด้วยสี
  5. จากนั้นระบุเมทริกซ์การแปลงเพื่อหมุนลายน้ำ
  6. ต่อมาระบุการจัดแนวสตริง
  7. หลังจากนั้นเรียกเมธอด DrawString()
  8. สุดท้าย บันทึกไฟล์ผลลัพธ์โดยใช้เมธอด Save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายน้ำข้อความแนวทแยงให้กับไฟล์ PSD ใน C#

// ตัวอย่างโค้ดนี้แสดงวิธีเพิ่มลายน้ำข้อความแนวทแยงลงในไฟล์ PSD
// โหลดไฟล์ PSD เป็นรูปภาพและส่งไปยัง PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// สร้างวัตถุกราฟิกเพื่อดำเนินการวาด
Graphics graphics = new Graphics(psdImage);

// สร้างฟอนต์เพื่อวาดลายน้ำด้วย
Font font = new Font("Arial", 25.0f);

// สร้างแปรงทึบโดยตั้งค่าอัลฟาสีใกล้กับ 0 เพื่อใช้เอฟเฟกต์ลายน้ำ
SolidBrush brush = new SolidBrush(Color.FromArgb(80, 128, 128, 128));

// ระบุเมทริกซ์การแปลงเพื่อหมุนลายน้ำ
graphics.Transform = new Matrix();
graphics.Transform.RotateAt(45, new PointF(psdImage.Width / 2, psdImage.Height / 2));

// ระบุการจัดแนวสตริงเพื่อใส่ลายน้ำที่กึ่งกลางรูปภาพ
StringFormat sf = new StringFormat();
sf.Alignment = StringAlignment.Center;

// วาดลายน้ำโดยใช้ฟอนต์ แปรงโปร่งแสงบางส่วนที่กึ่งกลางภาพ
graphics.DrawString("Sample Watermark Text", font, brush, new RectangleF(0, psdImage.Height / 2, psdImage.Width, psdImage.Height / 2), sf);

// ส่งออกรูปภาพเป็นรูปแบบไฟล์ PNG
psdImage.Save(@"C:\Files\AddDiagnolWatermark_output.png", new PngOptions());
สร้างลายน้ำแนวทแยงใน PSD โดยใช้ C#

สร้างลายน้ำแนวทแยงใน PSD โดยใช้ C#

เพิ่มลายน้ำรูปภาพให้กับ PSD โดยใช้ C#

เรายังสามารถเพิ่มรูปภาพเป็นลายน้ำให้กับไฟล์ PSD ได้โดยทำตามขั้นตอนด้านล่าง:

  1. ขั้นแรก ให้โหลดไฟล์ PSD เป็น PsdImage โดยใช้คลาส Image
  2. จากนั้น สร้างอินสแตนซ์ของคลาสเลเยอร์
  3. จากนั้นตั้งค่าความสูง ความกว้าง และความทึบของเลเยอร์
  4. จากนั้น เรียกใช้เมธอด AddLayer() เพื่อเพิ่มเลเยอร์ลงใน PSD
  5. หลังจากนั้นให้โหลดภาพลายน้ำเป็นเลเยอร์
  6. จากนั้นเพิ่มลายน้ำรูปภาพลงในเลเยอร์
  7. หลังจากนั้นเรียกเมธอด DrawImage() ใช้ตำแหน่งและชั้นภาพลายน้ำเป็นอาร์กิวเมนต์
  8. สุดท้าย บันทึกไฟล์ผลลัพธ์โดยใช้เมธอด Save()

ตัวอย่างโค้ดต่อไปนี้แสดงวิธีเพิ่มลายน้ำรูปภาพให้กับไฟล์ PSD ใน C#

// ตัวอย่างโค้ดนี้แสดงวิธีการเพิ่มลายน้ำรูปภาพให้กับไฟล์ PSD
// โหลดไฟล์ PSD ลงในวัตถุ PsdImage
PsdImage psdImage = (PsdImage)Image.Load(@"C:\Files\SimplePSD.psd");

// เพิ่มเลเยอร์ลายน้ำใหม่
var baseLayer = new Layer();
baseLayer.Top = 200;
baseLayer.Bottom = 600;
baseLayer.Right = 600;
baseLayer.Opacity = 50;

// เพิ่มเลเยอร์ให้กับไฟล์ PSD
psdImage.AddLayer(baseLayer);

// โหลดภาพลายน้ำลงในเลเยอร์
FileStream ImageWatermarkFile = new FileStream(@"C:\Files\aspose_logo.png", FileMode.Open);
Layer ImageWatermarkLayer = new Layer(ImageWatermarkFile);

// เพิ่มลายน้ำของรูปภาพลงในเลเยอร์ฐาน
baseLayer.DrawImage(new Point(0, 200), ImageWatermarkLayer);

// บันทึกไฟล์ PSD ลายน้ำขั้นสุดท้าย
psdImage.Save(@"C:\Files\ImageWatermarkedPSD.png", new PngOptions());
เพิ่มลายน้ำรูปภาพให้กับ PSD โดยใช้ C#

เพิ่มลายน้ำรูปภาพให้กับ PSD โดยใช้ C#

รับใบอนุญาตชั่วคราวฟรี

คุณสามารถ รับใบอนุญาตชั่วคราวได้ฟรี เพื่อลองใช้ Aspose.PSD for .NET โดยไม่มีข้อจำกัดในการประเมิน

บทสรุป

ในบทความนี้ เราได้เรียนรู้วิธีการ:

  • เพิ่มเลเยอร์ใหม่ให้กับภาพ PSD
  • เพิ่มข้อความหรือรูปภาพลายน้ำลงใน PSD;
  • บันทึก PSD เป็นภาพ PNG หรือ PSD โดยใช้ C#

นอกจากการเพิ่มลายน้ำลงใน PSD ใน C# แล้ว คุณยังสามารถเรียนรู้เพิ่มเติมเกี่ยวกับ Aspose.PSD for .NET โดยใช้ เอกสารประกอบ และสำรวจคุณสมบัติต่างๆ ที่ API รองรับ ในกรณีที่มีความคลุมเครือ โปรดติดต่อเราได้ที่ ฟอรัมสนับสนุนฟรี

ดูสิ่งนี้ด้วย