در پست قبلی خود ، تصاویر WebP را مورد بحث قرار دادیم و یاد گرفتیم که تصاویر WebP را در Java تبدیل کنیم. امروز در این مقاله یاد می گیریم که به صورت برنامه نویسی تصاویر WebP را با استفاده از C# به فرمت های JPG، PNG، TIFF و دیگر فرمت ها تبدیل کنیم.
ابتدا نگاهی به تبدیل تصاویر WebP به ساده ترین روش خواهیم داشت. بعداً با برخی از گزینههای سفارشیشده مانند شیب، تلنگر، مقیاس خاکستری، تغییر اندازه، تغییر گاما، کنتراست و روشنایی تبدیل میکنیم و به تصاویر JPG تبدیل شده واترمارک اضافه میکنیم. در زیر پیوندهای سریع موضوعات آمده است:
- تبدیل WebP به JPG، PNG و TIFF در سی شارپ
- تبدیل WebP با گزینه های پیشرفته (Apply Effects)
- تبدیل WebP به PDF در سی شارپ
مراحل این مقاله و نمونه کد از GroupDocs.Conversion for .NET و تصویر WebP زیر استفاده می کنند. بنابراین لطفاً مطمئن شوید که API را از یکی از روش های زیر نصب کنید:
تبدیل WebP به JPG در C#
برای تبدیل تصاویر WebP به فرمت های دیگر، از کلاس Converter استفاده کنید. برای تبدیل ساده، می توانید از چند خط کد C# زیر استفاده کنید. این مثال تبدیل سریع یک تصویر WebP به یک فایل JPG را نشان می دهد. فقط مراحل را دنبال کنید:
- شیء Converter را با تصویر منبع WebP نمونه سازی کنید.
- گزینه های تبدیل تصویر را با استفاده از کلاس ImageConvertOptions نمونه سازی کنید و فقط فرمت را روی JPG تنظیم کنید.
- روش Convert را با مسیر فایل خروجی و گزینه های تبدیل فراخوانی کنید.
// تبدیل تصویر WebP به JPG، PNG، BMP یا هر فرمت دیگری در سی شارپ
using (Converter converter = new Converter("path/image.webp"))
{
ImageConvertOptions options = new ImageConvertOptions
{ // Set the conversion format to JPG
Format = ImageFileType.Jpg
};
converter.Convert(@"path/converted-image.jpg", options);
}
در اینجا تصویر JPG تبدیل شده است که از فرمت WebP با استفاده از کد بالا تبدیل شده است:
تبدیل WebP به PNG، TIFF و سایر فرمت های تصویر در سی شارپ
با استفاده از همان کد بالا و تنها با تغییر فرمت فایل یعنی “ImageFileType.Jpg” و نام فایل خروجی، می توانید به راحتی فایل های WebP خود را به JPEG، PNG، TIF، TIFF، BMP و غیره تبدیل کنید.
این تبدیل ساده بود، حالا اجازه دهید با افکت های مختلف تبدیل کنیم.
تبدیل WebP به JPG، PNG، TIFF با گزینه های پیشرفته در C#
در کنار تبدیل WebP به فرمت های دیگر، می توانیم در حین تبدیل افکت ها را نیز اضافه کنیم. در زیر برخی از اثرات مانند؛ تبدیل به مقیاس خاکستری؛ ورق زدن تصاویر به صورت افقی یا عمودی. تصویر را به هر زاویه ای بچرخانید. اندازه تصویر را تغییر دهید تا کوچکتر یا بزرگتر شود. کنتراست، روشنایی، مقادیر گاما را تغییر دهید. یا حتی واترمارک روی تصاویر تبدیل شده اعمال کنید.
در اینجا کدی است که برای اعمال این افکت ها استفاده می شود. می توانید این افکت ها را یک به یک یا به صورت ترکیبی اعمال کنید تا به نتایج دلخواه برسید.
// اعمال افکت ها در حین تبدیل تصویر WebP به فرمت های دیگر در سی شارپ
using (Converter converter = new Converter("path/image.webp"))
{
ImageConvertOptions options = new ImageConvertOptions
{
Format = ImageFileType.Jpg,
Grayscale = true, // Convert the image in Grayscale
Height = 141, // Resize the Image Height
Width = 167, // Resize the image Width
FlipMode = ImageFlipModes.FlipX, // Flip the image
Contrast = 50, // Change the contrast of image
RotateAngle = 90, // Rotate the image
Brightness = 50, // Change the brightness
Gamma = 0.5F, // Gamma Setting
Watermark = // Watermark Settings
{
Text = "GroupDocs",
Width = 100,
Height = 100,
Background = false,
Top = 70,
Left = 90,
RotationAngle = -45,
}
};
converter.Convert(@"path/converted-with-options.jpg", options);
}
تبدیل WebP به PDF در C#
در کنار تبدیل تصاویر WebP به سایر فرمت های فایل تصویری، می توانیم تصاویر را به فرمت PDF نیز تبدیل کنیم. دنبال کردن 3 خط کد به شما کمک می کند تا تصویر WebP را به فرمت PDF تبدیل کنید.
// تبدیل WebP به PDF در سی شارپ
using (Converter converter = new Converter("path/image.webp"))
{
PdfConvertOptions options = new PdfConvertOptions();
converter.Convert(@"path/converted-webp-image.pdf", options);
}
برای جزئیات بیشتر و گزینههای پیشرفته برای تبدیل به PDF، میتوانید به مستندات مراجعه کنید.
همچنین ببینید
بسیاری از نمونههای منبع باز دیگر وجود دارند که به صورت عمومی در مخزن GitHub در دسترس هستند. کد منبع را دانلود کنید و با استفاده از راهنمای 15 به سرعت نمونه ها را اجرا کنید. در صورت هرگونه مشکل، به اسناد نگاه کنید یا در هر زمان در [فروم17 با ما تماس بگیرید.