Skala abu-abu JP2 melalui C#
Buat aplikasi .NET Anda sendiri ke file skala abu-abu JP2 menggunakan API sisi server.
Cara Grayscale File JP2 Menggunakan C#
Kecerahan dan warna-warni adalah pendamping gambar yang indah. Namun, pencetakan berwarna tidak selalu memungkinkan. Dalam kasus seperti itu, mengubah foto menjadi skala abu-abu menjadi perlu. Selain itu, fungsi ini dapat digunakan sebagai pendekatan artistik independen, yang meningkatkan daya tarik situs web Anda. Daripada menyesali hilangnya informasi warna selama transisi ini, yang mungkin berpotensi menghalangi persepsi, manfaatkan hal tersebut untuk keuntungan Anda. Berkonsentrasilah pada detail gambar, tekstur permukaan, dan interaksi area terang dan gelap untuk menciptakan pengalaman visual yang khas. Untuk membuat file JP2 menjadi abu-abu, kami akan menggunakan Aspose.Imaging for .NET API yang kaya fitur, kuat, dan mudah digunakan manipulasi gambar dan konversi API untuk platform C#. Membuka NuGet manajer paket, cari Aspose.Imaging dan menginstal. Anda juga dapat menggunakan perintah berikut dari Package Manager Console.
Perintah Konsol Manajer Paket
PM> Install-Package Aspose.Imaging
Langkah-langkah ke Grayscale JP2 melalui C#
Anda membutuhkan aspose.imaging.dll untuk mencoba alur kerja berikut di lingkungan Anda sendiri.
- Muat file JP2 dengan metode Image.Load
- Gambar skala abu-abu;
- Simpan gambar terkompresi ke disk dalam format yang didukung oleh Aspose.Imaging
Persyaratan sistem
Aspose.Imaging untuk .NET didukung di semua sistem operasi utama. Pastikan saja Anda memiliki prasyarat berikut.
- Microsoft Windows atau OS yang kompatibel dengan .NET Framework, .NET Core, Aplikasi Windows, Aplikasi Web ASP.NET.
- Lingkungan pengembangan seperti Microsoft Visual Studio.
- Aspose.Imaging untuk .NET direferensikan dalam proyek Anda.
Gambar skala abu-abu JP2 - .NET
using Aspose.Imaging; | |
using Aspose.Imaging.FileFormats.Bmp; | |
using Aspose.Imaging.FileFormats.Dicom; | |
using Aspose.Imaging.FileFormats.Emf; | |
using Aspose.Imaging.FileFormats.Jpeg; | |
using Aspose.Imaging.FileFormats.Jpeg2000; | |
using Aspose.Imaging.FileFormats.Png; | |
using Aspose.Imaging.FileFormats.Psd; | |
using Aspose.Imaging.FileFormats.Tiff.Enums; | |
using Aspose.Imaging.ImageFilters.FilterOptions; | |
using Aspose.Imaging.ImageOptions; | |
using Aspose.Imaging.Masking; | |
using Aspose.Imaging.Masking.Options; | |
using Aspose.Imaging.Masking.Result; | |
using Aspose.Imaging.Sources; | |
using System; | |
using System.Collections.Generic; | |
using System.IO; | |
using System.Linq; | |
string templatesFolder = @"c:\Users\USER\Downloads"; | |
GrayscaleImages(); | |
void GrayscaleImages() | |
{ | |
List<string> rasterFormats = new List<string>() { "jpg", "png", "bmp", "apng", "dicom", | |
"jp2", "j2k", "tga", "webp", "tif", "gif","ico" }; | |
List<string> vectorFormats = new List<string>() { "svg", "otg", "odg", "eps", "wmf", "emf", "wmz", "emz", "cmx", "cdr" }; | |
List<string> allFormats = new List<string>(rasterFormats); | |
allFormats.AddRange(vectorFormats); | |
allFormats.ForEach( | |
formatExt => | |
{ | |
var inputFile = Path.Combine(templatesFolder, $"template.{formatExt}"); | |
bool isVectorFormat = vectorFormats.IndexOf(formatExt) > -1; | |
//Need to rasterize vector formats before background remove | |
if (isVectorFormat) | |
{ | |
inputFile = RasterizeVectorImage(formatExt, inputFile); | |
} | |
var outputFile = Path.Combine(templatesFolder, $"grayscale_{formatExt}.png"); | |
Console.WriteLine($"Processing {formatExt}"); | |
using (var image = (RasterImage)Image.Load(inputFile)) | |
{ | |
//Additional code examples can be found at | |
//https://apireference.aspose.com/imaging/net/aspose.imaging/rasterimage/methods/grayscale | |
image.Grayscale(); | |
//If image is multipage save each page to png to demonstrate results | |
if (image is IMultipageImage multiPage && multiPage.PageCount > 1) | |
{ | |
for (var pageIndex = 0; pageIndex < multiPage.PageCount; pageIndex++) | |
{ | |
string fileName = $"grayscale_page{pageIndex}_{formatExt}.png"; | |
multiPage.Pages[pageIndex].Save(templatesFolder + fileName, new PngOptions()); | |
File.Delete(templatesFolder + fileName); | |
} | |
} | |
else | |
{ | |
image.Save(outputFile, new PngOptions()); | |
File.Delete(outputFile); | |
} | |
} | |
//Remove rasterized vector image | |
if (isVectorFormat) | |
{ | |
File.Delete(inputFile); | |
} | |
} | |
); | |
} | |
string RasterizeVectorImage(string formatExt, string inputFile) | |
{ | |
string outputFile = Path.Combine(templatesFolder, $"rasterized.{formatExt}.png"); | |
using (var image = Image.Load(inputFile)) | |
{ | |
image.Save(outputFile, new PngOptions()); | |
} | |
return outputFile; | |
} |
Tentang Aspose.Imaging untuk .NET API
Aspose.Imaging API adalah solusi pemrosesan gambar untuk membuat, memodifikasi, menggambar, atau mengonversi gambar (foto) dalam aplikasi. Menawarkan: pemrosesan gambar lintas platform, termasuk tetapi tidak terbatas pada konversi antara berbagai format gambar (termasuk pemrosesan gambar multi-halaman atau multi-bingkai yang seragam), modifikasi seperti menggambar, bekerja dengan grafik primitif, transformasi (mengubah ukuran, memotong, membalik & memutar , binarisasi, skala abu-abu, sesuaikan), fitur manipulasi gambar lanjutan (pemfilteran, dithering, masking, deskewing), dan strategi pengoptimalan memori. Ini adalah perpustakaan mandiri dan tidak bergantung pada perangkat lunak apa pun untuk operasi gambar. Seseorang dapat dengan mudah menambahkan fitur konversi gambar berkinerja tinggi dengan API asli dalam proyek. Ini adalah 100% API lokal pribadi dan gambar diproses di server Anda.Skala abu-abu JP2 melalui Aplikasi Online
Dokumen skala abu-abu JP2 dengan mengunjungi situs web Live Demos . Demo langsung memiliki manfaat sebagai berikut
JP2 Apa JP2 Format Berkas
JPEG 2000 (JP2) adalah sistem pengkodean gambar dan standar kompresi gambar mutakhir. Dirancang, menggunakan teknologi wavelet JPEG 2000 dapat mengkodekan konten lossless dalam kualitas apa pun sekaligus. Selain itu, tanpa penalti substansial dalam efisiensi pengkodean, JPEG 2000 memiliki kemampuan untuk mengakses dan mendekode konten yang sama secara efektif ke dalam berbagai resolusi dan kualitas lainnya. Aliran kode dalam JPEG 2000 secara signifikan dapat diskalakan memiliki wilayah yang menarik yang menyediakan fasilitas untuk akses acak spasial. Memiliki hingga 16384 komponen yang beragam dengan dimensi dalam terapixels, dan presisi yang dapat setinggi 38 bit/sampel.
Baca selengkapnyaFormat Grayscale Lainnya yang Didukung
Menggunakan C#, seseorang dapat dengan mudah menskalakan berbagai format termasuk.