หลีกเลี่ยงการเสื่อมประสิทธิภาพเมื่อวาดภาพบนภาพที่ถูกบีบอัด

มีช่วงเวลาที่คุณต้องการดำเนินการกราฟิกอย่างเป็นพิเศษบนภาพที่ถูกบีบอัดมาก. เมื่อ Aspose.PSD ต้องบีบอัดและถอดแยกภาพออกในทันที, อาจเกิดการเสื่อมประสิทธิภาพ. การวาดภาพบนภาพที่ถูกบีบอัดอาจมีการลดประสิทธิภาพเช่นกัน.

วิธีแก้ปัญหา

เพื่อหลีกเลี่ยงการเสื่อมประสิทธิภาพ, เราขอแนะนำให้คุณแปลงภาพเป็นรูปแบบที่ไม่ถูกบีบอัดหรือสกัดก่อนดำเนินการกราฟิก.

ใช้เส้นทางไฟล์

ในตัวอย่างที่ตามมา, ภาพ PSD ถูกแปลงเป็นฟอร์แมทที่ไม่ถูกบีบอัด (ไม่มีการบีบอัด) และบันทึกลงในดิสก์. จากนั้นภาพที่ไม่ถูกบีบอัดถูกโหลดกลับก่อนทำการกราฟิกอย่างเป็นพิเศษบนภาพ. เทคนิคเดียวกันนี้สามารถนำไปใช้กับไฟล์ BMP และ GIF ได้ด้วย

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
// Load a PSD file as an image and cast it into PsdImage
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd"))
{
PsdOptions saveOptions = new PsdOptions();
saveOptions.CompressionMethod = CompressionMethod.Raw;
psdImage.Save(dataDir + "uncompressed_out.psd", saveOptions);
}
// Now reopen the newly created image.
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "uncompressed_out.psd"))
{
Graphics graphics = new Graphics(psdImage);
// Perform graphics operations.
}

ใช้ออบเจกต์สตรีม

โค้ดตัวอย่างต่อไปนี้จะแสดงวิธีการแปลงภาพ PSD เป็นรูปแบบที่ไม่ถูกบีบอัด (ไม่มีการบีบอัด) และบันทึกลงในดิสก์โดยใช้ MemoryStream

// For complete examples and data files, please go to https://github.com/aspose-psd/Aspose.PSD-for-.NET
{
// Load a PSD file as an image and cast it into PsdImage
using (PsdImage psdImage = (PsdImage)Image.Load(dataDir + "layers.psd"))
{
PsdOptions saveOptions = new PsdOptions();
saveOptions.CompressionMethod = CompressionMethod.Raw;
psdImage.Save(stream, saveOptions);
}
// Now reopen the newly created image. But first seek to the beginning of stream since after saving seek is at the end now.
stream.Seek(0, System.IO.SeekOrigin.Begin);
using (PsdImage psdImage = (PsdImage)Image.Load(stream))
{
Graphics graphics = new Graphics(psdImage);
// Perform graphics operations.
}
}