欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#/VB.NET?實(shí)現(xiàn)彩色PDF轉(zhuǎn)為灰度PDF

 更新時(shí)間:2021年11月26日 10:28:44   作者:E-iceblue  
本文以C#代碼為例介紹如何實(shí)現(xiàn)將彩色PDF文件轉(zhuǎn)為灰度(黑白)的PDF文件,即將PDF文檔里面的彩色圖片或者文字等通過調(diào)用方法轉(zhuǎn)為文檔頁面為灰色調(diào)、無彩色效果的文檔??靵砀S小編一起學(xué)習(xí)吧

本文以C#代碼為例介紹如何實(shí)現(xiàn)將彩色PDF文件轉(zhuǎn)為灰度(黑白)的PDF文件,即 將PDF文檔里面的彩色圖片或者文字等通過調(diào)用PdfGrayConverter.ToGrayPdf()方法轉(zhuǎn)為文檔頁面為灰色調(diào)、無彩色效果的文檔。下面的程序運(yùn)行環(huán)境及代碼示例。

配置程序環(huán)境

  • Visual Studio 2017
  • .Net Framework 4.6.1
  • Spire.PDF for .NET

關(guān)于如何引入dll文件:

1.通過NuGet安裝dll(2種方法)

1.1可以在Visual Studio中打開“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“管理NuGet包”,然后搜索Spire.PDF安裝。

1.2將以下內(nèi)容復(fù)制到PM控制臺安裝。

Install-Package Spire.PDF -Version 7.11.1

2.手動添加dll引用

可通過手動下載包,然后解壓,找到BIN文件夾下的Spire.Pdf.dll。然后在Visual Studio中打開“解決方案資源管理器”,鼠標(biāo)右鍵點(diǎn)擊“引用”,“添加引用”將本地路徑BIN文件夾下的dll文件添加引用至程序。

轉(zhuǎn)彩色PDF為灰度

這里轉(zhuǎn)換主要用到以下步驟:

1.使用 PdfGrayConverter 類加載PDF文件。

2.調(diào)用 PdfGrayConverter.ToGrayPdf() 方法將 PDF 轉(zhuǎn)換為灰度。

C#

using Spire.Pdf.Conversion;

namespace ToGrayPDF
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建一個(gè)PdfGrayConverter實(shí)例并加載文檔
            PdfGrayConverter converter = new PdfGrayConverter("sample.pdf");

            //將彩色PDF轉(zhuǎn)換為灰度
            converter.ToGrayPdf("Grayscale.pdf");
            converter.Dispose();
        }
    }
}

VB.NET

Imports Spire.Pdf.Conversion

Namespace ToGrayPDF
    Class Program
        Private Shared Sub Main(args As String())
            '創(chuàng)建一個(gè)PdfGrayConverter實(shí)例并加載文檔
            Dim converter As New PdfGrayConverter("sample.pdf")

            '將彩色PDF轉(zhuǎn)換為灰度
            converter.ToGrayPdf("Grayscale.pdf")
            converter.Dispose()
        End Sub
    End Class
End Namespace

轉(zhuǎn)換結(jié)果

補(bǔ)充

C#也可以實(shí)現(xiàn)彩色圖片轉(zhuǎn)換為灰度圖

代碼如下:

public static Bitmap ChangeGray(Bitmap b) 
 { 
  BitmapData bmData = b.LockBits(new Rectangle(0, 0, b.Width, b.Height), ImageLockMode.ReadWrite, 
   PixelFormat.Format24bppRgb); 
  int stride = bmData.Stride;   // 掃描的寬度 
   
   
  unsafe
  { 
   byte* p = (byte*)bmData.Scan0.ToPointer(); // 獲取圖像首地址 
   int nOffset = stride - b.Width * 3;  // 實(shí)際寬度與系統(tǒng)寬度的距離 
   byte red, green, blue; 
   for (int y = 0; y < b.Height; ++y) 
   { 
    for (int x = 0; x < b.Width; ++x) 
    { 
     blue = p[0]; 
     green = p[1]; 
     red = p[2]; 
   
     p[0] = p[1] = p[2] = (byte)(.299 * red + .587 * green + .114 * blue); // 轉(zhuǎn)換公式 
     p += 3;  // 跳過3個(gè)字節(jié)處理下個(gè)像素點(diǎn) 
    } 
    p += nOffset; // 加上間隔 
   } 
  } 
  b.UnlockBits(bmData); // 解鎖 
  return b; 
 }

到此這篇關(guān)于C#/VB.NET 實(shí)現(xiàn)彩色PDF轉(zhuǎn)為灰度PDF 的文章就介紹到這了,更多相關(guān)C#/VB.NET 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論