חלק 1 - עיבוד קובץ PSD עם אפקט ה-Warp

פוטושופ שומרת את התמונה שעוברת עיבוד לאחר החלת האפקט Warp. ספרייתנו יכולה לשחזר או לעיבד מחדש את התמונה עם אפקט ה-Warp. על מנת להפעיל אפשרות זו, יש להגדיר דגל AllowWarpRepaint בהגדרות בעת פתיחת קובץ ה-PSD.

string sourceFile = "warp_flag.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 1

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

string sourceFile = "warp_text_wave.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 2

*! הערה: ** כרגע, ספרייתנו תומכת בעיבוד של Custom Warp (שבו המשתמשים מניעים נקודות משתייג) ובכל סוגי ה-Warp הסטנדרטיים.

חלק 2 - שינוי האפקט Warp

הספרייה שלנו מאפשרת לך לא רק לעשות עיבוד אלא גם לשנות (להוסיף) את אפקט ה-Warp. השינויים האלו נתמכים דרך יכולות ה-WarpParams class.

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

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

string sourceFile = "warp_flag.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
var smartLayer = (SmartObjectLayer)psdImage.Layers[0];
WarpParams warpParams = smartLayer.WarpParams;];
WarpParams warpParams = smartLayer.WarpParams;
if (warpParams.Style == WarpStyles.Flag)
{
warpParams.Style = WarpStyles.Wave;
warpParams.Value = 20;
}
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 3

חלק 3 - הוספת האפקט Warp

דוגמת הקוד למטה מדגימה איך להוסיף אפקט Warp סטנדרטי לשכבת חכמה.

string sourceFile = "smart_object.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
// The smart object without Warp effect
var smartLayer = (SmartObjectLayer)psdImage.Layers[0];
// It gets structure for warp effect
WarpParams warpParams = smartLayer.WarpParams;
// It sets parameters for warp effect
warpParams.Style = WarpStyles.Arc;
warpParams.Value = 10;
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 4

דוגמת הקוד למטה מדגימה איך להוסיף אפקט Warp מותאם אישית לשכבת חכמה.

string sourceFile = "smart_object.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
// The smart object without Warp effect
var smartLayer = (SmartObjectLayer)psdImage.Layers[0];
// It gets structure for warp effect
WarpParams warpParams = smartLayer.WarpParams;
// It sets parameters for warp effect
warpParams.Style = WarpStyles.Custom;
warpParams.MeshPoints[2].Y += 70;
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 5

דוגמת הקוד למטה מדגימה איך להוסיף אפקט Warp לשכבת טקסט. ! ערה: לפי תקני פוטושופ, אפקט ה-Warp עבור שכבות טקסט נמצא בדרך כלל בהגבלה לסוג הסטנדרטי. עם זאת, הספרייה שלנו תומכת בשימוש של שני סוגי אפקטי Warp. יש לשים לב כי קבצים כאלו עשויים לא להיות תואמים באופן מלא עם פוטושופ.

string sourceFile = "smart_object.psd";
string outputFile = "total.png";
using (var psdImage = (PsdImage)Image.Load(sourceFile, new PsdLoadOptions() { AllowWarpRepaint = true, LoadEffectsResource = true }))
{
// The smart object without Warp effect
var smartLayer = (SmartObjectLayer)psdImage.Layers[0];
// It gets structure for warp effect
WarpParams warpParams = smartLayer.WarpParams;
// It sets parameters for warp effect
warpParams.Style = WarpStyles.Custom;
warpParams.MeshPoints[2].Y += 70;
psdImage.Save(outputFile, new PngOptions
{
ColorType = PngColorType.TruecolorWithAlpha
});
}

תוצאה: Aspose.PSD for .NET Warp Result 6

אנו ממשיכים לשפר ולהרחיב את היכולות של האפקט שלנו, במהירות, איכות ופונקציונליות נתמכות. הישאר מעודכן עם הוצאות חודשיות שלנו לפיתוחים האחרונים. צוות Aspose.PSD שלך