עיבוד תמונות PNG

ציון שקיפות עבור תמונות PNG

אחת היתרונות של שמירת תמונות בתבנית PNG היא שה־PNG יכולה לכלול רקע שקוף. Aspose.PSD for .NET מספקת את היכולת לציין שקיפות לתמונות ה־PNG ולתמונות רסטר בצורה שמוצגת בקטע הבא. ממשק ה־API של Aspose.PSD for .NET יכול לשמש להגדרת כל צבע כשקוף בעת יצירת תמונות PNG חדשות או המרת תמונות קיימות לתבנית PNG. לצורך כך, ממשק ה־API של Aspose.PSD for .NET חשף את המאפיין TransparentColor ואת התבנית PngColorType שניתן להגדיר לצורך ציון כל צבע שישמש כשקוף בתמונת ה־PNG. קטע הקוד שמסופק מדגים כיצד להמיר תמונת PSD קיימת לתמונת PNG על ידי ציון הצבע הרצוי כשקוף.

// 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 + "sample.psd"))
{
// specify the PNG image transparency options and save to file.
psdImage.TransparentColor = Color.White;
psdImage.HasTransparentColor = true;
PngOptions opt = new PngOptions();
psdImage.Save(dataDir + "Specify_Transparency_result.png", new PngOptions());
}

הגדרת רזולוציה לתמונות PNG

Aspose.PSD for .NET מסופקת עם מחלקת ההגדרת רזולוציה שניתן להשתמש בה להגדרת הרזולוציה עבור כל פורמטי התמונה כולל PNG. מאמר זה מדגים את שימוש בממשק ה־API של Aspose.PSD for .NET להגדרת פרמטרי הרזולוציה האופקיים והאנכיים עבור פורמט התמונה PNG. קטע הקוד למטה טוען תמונת PSD קיימת וממיר אותה לתבנית PNG ובנוסף משנה את הרזולוציה.

// 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 + "sample.psd"))
{
// Create an instance of PngOptions, Set the horizontal & vertical resolutions and Save the result on disc
PngOptions options = new PngOptions();
options.ResolutionSettings = new ResolutionSetting(72, 96);
psdImage.Save(dataDir + "SettingResolution_output.png", options);
}

דחיסת קבצי PNG

המבנה הגרפי הנייד (PNG) הוא פורמט דחיסה ללא אובדן להעברת דמי-נתונים מעל רשתות. כאשר אתה שומר תמונה כקובץ PNG בכל תוכנה, יתכן שיתבקש ממך לבחור רמת דחיסה בטווח של 0 עד רמה מקסימלית. הגדרת ערך זה בעצם מדחיסה את גודל הקובץ ולא מפחיתה את איכות התמונה. מאמר זה מתאר כיצד API של Aspose.PSD מאפשר לך לשלוט בגודל הקובץ של קבצי ה־PNG. API של Aspose.PSD ניתן לשימוש להגדרת רמות דחיסה עבור פורמט הקובץ PNG באמצעות מחלקת PngOptions שמכילה מאפיין int CompressionLevel. המאפיין מקבל ערך בין 0 ל־9, כאשר 9 היא הדחיסה המרבית. קטע הקוד שמסופק למעלה מדגים כיצד להגדיר את רמות הדחיסה באמצעות API של Aspose.PSD for .NET.

// 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 + "sample.psd"))
{
// Loop over possible CompressionLevel range
for (int i = 0; i <= 9; i++)
{
// Create an instance of PngOptions for each resultant PNG, Set CompressionLevel and Save result on disk
PngOptions options = new PngOptions();
options.CompressionLevel = i;
psdImage.Save(dataDir + i + "_out.png", options);
}
}

ציון עומק צבע עבור תמונות PNG

עומק הביטים בהיסגרות הוא מספר הביטים שמשמשים לציוני צבע של פיקסל בתמונת Bitmap. כמו כל התבניות הביטמפ האחרות, עומק הצבע ב־PNG מיוצג גם הוא בביט, כמו 1־ביט (2 צבעים), 2־ביט (4 צבעים), 4־ביט (16 צבעים) ו־8־ביט (256 צבעים). API של Aspose.PSD for .NET ניתן לשימוש להגדרת עומק הביטים עבור תמונות PNG באמצעות מאפיין BitDepth שנחשף על ידי מחלקת PngOptions. כרגע, עומק הביטים יכול להיות מוגדר ב־1, 2, 4 או 8 ביטים עבור סוגי צבע אפורים ואינדקסיים. רק 8 ביטים נתמכים לסוגי צבע אחרים. קטע הקוד שמסופק מדגים כיצד להגדיר את עומק הביטים עבור תמונת PNG.

// 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 + "sample.psd"))
{
// Create an instance of PngOptions, Set the desired ColorType, BitDepth according to the specified ColorType and save image
PngOptions options = new PngOptions();
options.ColorType = PngColorType.Grayscale;
options.BitDepth = 1;
psdImage.Save(dataDir + "SpecifyBitDepth_out.png", options);
}

יישום שיטות סינון על תמונות PNG

עומק הביטים בהיסגרת הוא מספר הביטים שמשמשים לציוני צבע של פיקסל בתמונת Bitmap. כמו כל התבניות הביטמפ האחרות, עומק הצבע ב־PNG מיוצג גם הוא בביט, כמו 1־ביט (2 צבעים), 2־ביט (4 צבעים), 4־ביט (16 צבעים) ו־8־ביט (256 צבעים). API של Aspose.PSD for .NET ניתן לשימוש להגדרת עומק הביטים עבור תמונות PNG באמצעות מאפיין בעל שם BitDepth שנחשף על ידי מחלקת PngOptions. כרגע, עומק הביטים יכול להיות מוגדר ב־1, 2, 4 או 8 ביטים עבור סוגי צבע אפורים ואינדקסיים. רק 8 ביטים נתמכים לסוגי צבע אחרים. קטע הקוד שמסופק מדגים כיצד להגדיר את עומק הביטים עבור תמונת PNG.

// 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 + "sample.psd"))
{
// Create an instance of PngOptions, Set the PNG filter method and Save changes to the disc
PngOptions options = new PngOptions();
options.FilterType = PngFilterType.Paeth;
psdImage.Save(dataDir + "ApplyFilterMethod_out.png", options);
}

שינוי צבע רקע של תמונת PNG שקופה

תמונות בתבנית PNG יכולות לכלול רקע שקוף. Aspose.PSD for .NET מספקת את היכולת לשנות את צבע הרקע של תמונת PNG שכוללת רקע שקוף. API של Aspose.PSD for .NET ניתן לשימוש להגדיר/לשנות צבע של תמונת PNG עם רקע שקוף. קטע הקוד שמסופק מדגים כיצד להגדיר/לשנות את צבע הרקע של תמונת PNG עם רקע שקוף.

// 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 + "sample.psd"))
{
int[] pixels = psdImage.LoadArgb32Pixels(psdImage.Bounds);
// Iterate through the pixel array and Check the pixel information
//that if it is a transparent color pixel and Change the pixel color to white
int transparent = psdImage.TransparentColor.ToArgb();
int replacementColor = Color.Yellow.ToArgb();
for (int i = 0; i < pixels.Length; i++)
{
if (pixels[i] == transparent)
{
pixels[i] = replacementColor;
}
}
// Replace the pixel array into the image.
psdImage.SaveArgb32Pixels(psdImage.Bounds, pixels);
psdImage.Save(dataDir + "ChangeBackground_out.png", new PngOptions());
}