第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

以 Tiff 格式保存圖片而不壓縮

以 Tiff 格式保存圖片而不壓縮

C#
繁花如伊 2022-12-31 13:09:19
我剛剛發(fā)現(xiàn) TIFF 有多種格式。由于某種原因,使用時(shí)Using bm As New Bitmap(rect.Width, rect.Width)bm.Save("C:\testfolder\screenshot.png", Imaging.ImageFormat.Tiff)格式變?yōu)?LZW 壓縮格式,我不能在第三方庫中使用它。經(jīng)過一些搜索,我發(fā)現(xiàn).NET 確實(shí)提供了一個(gè)庫來保存為具有不同壓縮選項(xiàng)的 TIFF,我想嘗試所有這些但我不知道如何實(shí)現(xiàn)它?;蛘呶覒?yīng)該說我不知道如何使用它:https://learn.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.tiffcompressoption?view=netframework-4.8#examples目的是我想獲取區(qū)域截圖并將其保存為 TIFF。Dim stream As New FileStream("new.tif", FileMode.Create)Dim encoder As New TiffBitmapEncoder()encoder.Compression = TiffCompressOption.Zipencoder.Frames.Add(BitmapFrame.Create(image))   <--what is this "image"?encoder.Save(stream)那個(gè)image實(shí)體是什么?流?如何將捕獲的屏幕截圖區(qū)域另存為 TIFF?如果Using bm As New Bitmap(rect.Width, rect.Width) 我不介意先保存它,然后再重新讀取 bmp 流。唯一的問題是我不知道示例中給出的“圖像”代表什么。我從這里閱讀了一些信息,但我仍然沒有弄明白: https ://learn.microsoft.com/en-us/dotnet/api/system.windows.media.imaging.bitmapframe.create?view=netframework- 4.8如果你弄明白了,請(qǐng)給我一個(gè)如何使用代碼的例子。
查看完整描述

1 回答

?
紫衣仙女

TA貢獻(xiàn)1839條經(jīng)驗(yàn) 獲得超15個(gè)贊

您可以使用舊的 System.Drawing 方式而不是 System.Windows.Media 方式。

僅從Encoder.Compression Field的文檔中略微改編:

Imports System.Drawing.Imaging

'' .....


Private Shared Function GetEncoderInfo(ByVal mimeType As String) As ImageCodecInfo

    Dim j As Integer

    Dim encoders() As ImageCodecInfo

    encoders = ImageCodecInfo.GetImageEncoders()


    j = 0

    While j < encoders.Length

        If encoders(j).MimeType = mimeType Then

            Return encoders(j)

        End If

        j += 1

    End While

    Return Nothing


End Function


Sub SaveAsTiff()

    Dim sampleFile = "C:\temp\ToTiff.png"


    Using bmp = Image.FromFile(sampleFile)

        Dim myImageCodecInfo = GetEncoderInfo("image/tiff")


        Dim myEncoder As Imaging.Encoder = Imaging.Encoder.Compression

        Dim myEncoderParameters = New EncoderParameters(1)

        Dim myEncoderParameter = New EncoderParameter(myEncoder, EncoderValue.CompressionNone)

        myEncoderParameters.Param(0) = myEncoderParameter


        bmp.Save("C:\temp\ToTiff.tif", myImageCodecInfo, myEncoderParameters)


    End Using


End Sub

但是,它不允許 ZIP 壓縮。但這對(duì)您來說可能無關(guān)緊要:哪種 TIFF 圖像壓縮更好,LZW 還是 ZIP?

此外,對(duì)于屏幕截圖,您可能需要考慮使用 PNG 格式,尤其是當(dāng)圖像將在網(wǎng)絡(luò)上使用時(shí)。


查看完整回答
反對(duì) 回復(fù) 2022-12-31
  • 1 回答
  • 0 關(guān)注
  • 278 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)