Memanipulasi Gambar PNG
Menentukan Transparansi untuk Gambar PNG
Salah satu kelebihan menyimpan gambar dalam format PNG adalah PNG dapat memiliki latar belakang transparan. Aspose.PSD untuk .NET menyediakan fitur untuk menentukan transparansi untuk Gambar PNG & gambar Raster seperti yang ditunjukkan dalam bagian di bawah ini. Aspose.PSD untuk .NET API dapat digunakan untuk menetapkan warna apa pun sebagai transparan saat membuat gambar PNG baru atau mengonversi gambar yang ada ke format PNG. Untuk tujuan ini, Aspose.PSD untuk .NET API telah mengekspos properti TransparentColor dan enumerasi PngColorType yang dapat diatur untuk menentukan warna mana yang akan dirender sebagai transparan dalam gambar PNG. Potongan kode di bawah ini menunjukkan bagaimana mengonversi gambar PSD yang ada ke gambar PNG dengan menentukan warna yang diinginkan sebagai transparan.
// 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()); | |
} |
Mengatur Resolusi untuk Gambar PNG
Aspose.PSD untuk .NET mengekspos kelas ResolutionSetting yang dapat digunakan untuk mengatur resolusi untuk semua format gambar termasuk PNG. Artikel ini menunjukkan penggunaan Aspose.PSD untuk .NET API untuk mengatur parameter resolusi horizontal & vertikal untuk format gambar PNG. Potongan kode di bawah ini memuat gambar PSD yang ada dan mengonversinya ke format PNG sambil mengubah resolusinya.
// 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); | |
} |
Mengkompresi File PNG
Portable Network Graphic (PNG) adalah format kompresi lossless untuk mentransmisikan bitmap melalui jaringan. Saat Anda menyimpan gambar sebagai file PNG dalam program apa pun, Anda mungkin diminta untuk memilih tingkat kompresi dalam rentang dari 0 hingga level maksimum tertentu. Mengatur nilai ini sebenarnya mengompresi ukuran file dan tidak mengurangi kualitas gambar. Artikel ini menjelaskan bagaimana API Aspose.PSD memungkinkan Anda mengontrol ukuran file PNG. API Aspose.PSD dapat digunakan untuk mengatur Tingkat Kompresi untuk format file PNG dengan menggunakan kelas PngOptions yang memiliki properti int tipe CompressionLevel. Properti ini menerima nilai dari 0 hingga 9 di mana 9 adalah kompresi maksimum. Potongan kode di bawah ini menunjukkan bagaimana mengatur Tingkat Kompresi menggunakan Aspose.PSD untuk API .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); | |
} | |
} |
Menentukan Kedalaman Bit untuk Gambar PNG
Kedalaman bit dalam penggambaran adalah jumlah bit yang digunakan untuk menunjukkan warna dari satu piksel dalam gambar bitmap. Seperti semua format bitmap lainnya, kedalaman warna PNG juga direpresentasikan dalam bit seperti 1-bit (2 warna), 2-bit (4 warna), 4-bit (16 warna) dan 8-bit (256 warna). Aspose.PSD untuk API .NET dapat digunakan untuk mengatur kedalaman bit untuk gambar PNG dengan menggunakan properti BitDepth yang diekspos oleh kelas PngOptions. Saat ini, properti BitDepth dapat diatur ke 1, 2, 4, atau 8 bit untuk tipe warna grayscale dan indexed. Untuk semua tipe warna lainnya, hanya 8 bit yang didukung. Potongan kode di bawah ini menunjukkan bagaimana mengatur Kedalaman Bit untuk gambar 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); | |
} |
Menerapkan Metode Filter pada Gambar PNG
Kedalaman bit dalam penggambaran adalah jumlah bit yang digunakan untuk menunjukkan warna dari satu piksel dalam gambar bitmap. Seperti semua format bitmap lainnya, kedalaman warna PNG juga direpresentasikan dalam bit seperti 1-bit (2 warna), 2-bit (4 warna), 4-bit (16 warna) dan 8-bit (256 warna). Aspose.PSD untuk API .NET dapat digunakan untuk mengatur kedalaman bit untuk gambar PNG menggunakan properti BitDepth yang diekspos oleh kelas PngOptions. Saat ini, properti BitDepth dapat diatur ke 1, 2, 4, atau 8 bit untuk tipe warna grayscale dan indexed. Untuk semua tipe warna lainnya, hanya 8 bit yang didukung. Potongan kode di bawah ini menunjukkan bagaimana mengatur Kedalaman Bit untuk gambar 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); | |
} |
Mengubah Warna Latar Belakang dari Gambar PNG Transparan
Gambar format PNG dapat memiliki latar belakang transparan. Aspose.PSD untuk .NET menyediakan fitur untuk mengubah warna latar belakang dari gambar PNG yang memiliki latar belakang transparan. Aspose.PSD untuk .NET API dapat digunakan untuk menetapkan/mengubah warna gambar PNG transparan. Potongan kode di bawah ini menunjukkan bagaimana menetapkan/mengubah warna latar belakang dari gambar PNG transparan.
// 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()); | |
} |