日本免费全黄少妇一区二区三区-高清无码一区二区三区四区-欧美中文字幕日韩在线观看-国产福利诱惑在线网站-国产中文字幕一区在线-亚洲欧美精品日韩一区-久久国产精品国产精品国产-国产精久久久久久一区二区三区-欧美亚洲国产精品久久久久

word圖片點擊右鍵沒有另存為 word右鍵怎么增加圖片另存為( 二 )


SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0)
End If
Case ImageFileFormat.Jpg'JPG格式可以設(shè)置保存的質(zhì)量
Dim aEncParams()As Byte
Dim uEncParamsAs EncoderParameters
If GetEncoderClsID("Image/jpeg", CLSID) <> -1 Then
uEncParams.Count = 1' 設(shè)置自定義的編碼參數(shù),這里為1個參數(shù)
If JpgQuality < 0 Then
JpgQuality = 0
ElseIf JpgQuality > 100 Then
JpgQuality = 100
End If
ReDim aEncParams(1 To Len(uEncParams))
With uEncParams.Parameter
.NumberOfValues = 1
.Type = EncoderParameterValueTypeLong' 設(shè)置參數(shù)值的數(shù)據(jù)類型為長整型
Call CLSIDFromString(StrPtr(EncoderQuality), .GUID(0))' 設(shè)置參數(shù)唯一標志的GUID,這里為編碼品質(zhì)
.Value = http://www.ljsggw.cn/office/VarPtr(JpgQuality)' 設(shè)置參數(shù)的值:品質(zhì)等級,最高為100,圖像文件大小與品質(zhì)成正比
End With
CopyMemory aEncParams(1), uEncParams, Len(uEncParams)
SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), aEncParams(1)) = 0)
End If
Case ImageFileFormat.Png
If Not GetEncoderClsID("Image/png", CLSID) = -1 Then
SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0)
End If
Case ImageFileFormat.Gif
If Not GetEncoderClsID("Image/gif", CLSID) = -1 Then'如果原始的圖像是24位,則這個函數(shù)會調(diào)用系統(tǒng)的調(diào)色板來將圖像轉(zhuǎn)換為8位,轉(zhuǎn)換的效果會不盡人意,但也有可能系統(tǒng)不自動轉(zhuǎn)換,保存失敗
SaveStdPicToFile = (GdipSaveImageToFile(Bitmap, StrPtr(FileName), CLSID(0), ByVal 0) = 0)
End If
End Select
End If
GdipDisposeImage Bitmap'注意釋放資源
GdiplusShutdown Token'關(guān)閉GDI+ 。
End Function
Private Function GetEncoderClsID(strMimeType As String, ClassID() As Long) As Long
Dim NumAs Long
Dim SizeAs Long
Dim IAs Long
Dim Info()As ImageCodecInfo
Dim Buffer()As Byte
GetEncoderClsID = -1
GdipGetImageEncodersSize Num, Size'得到解碼器數(shù)組的大小
If Size <> 0 Then
ReDim Info(1 To Num) As ImageCodecInfo'給數(shù)組動態(tài)分配內(nèi)存
ReDim Buffer(1 To Size) As Byte
GdipGetImageEncoders Num, Size, Buffer(1)'得到數(shù)組和字符數(shù)據(jù)
CopyMemory Info(1), Buffer(1), (Len(Info(1)) * Num) '復(fù)制類頭
For I = 1 To Num'循環(huán)檢測所有解碼
If (StrComp(PtrToStrW(Info(I).MimeType), strMimeType, vbTextCompare) = 0) Then'必須把指針轉(zhuǎn)換成可用的字符
CopyMemory ClassID(0), Info(I).ClassID(0), 16'保存類的ID
GetEncoderClsID = I'返回成功的索引值
Exit For
End If
Next
End If
End Function
【word圖片點擊右鍵沒有另存為 word右鍵怎么增加圖片另存為】Private Function PtrToStrW(ByVal lpsz As Long) As String
Dim OutAs String
Dim LengthAs Long
Length = lstrlenW(lpsz)
If Length > 0 Then
Out = StrConv(String$(Length, vbNullChar), vbUnicode)
CopyMemory ByVal Out, ByVal lpsz, Length * 2
PtrToStrW = StrConv(Out, vbFromUnicode)
End If
End Function
For Each cbn In Array("AutoText", "Drawing Canvas", "Organization Chart", "Diagram", "Frames", "Flowchart", "Inline Picture", "Floating Picture", "Shapes", "Inline Canvas", "Table Pictures", "AutoShapes", "Basic Shapes", "Insert Shape", "Picture", "WordArt Context Menu", "WordArt")

推薦閱讀