我正在編程Visual Basic.NET in Visual studio 2017 RC。如何使用「PictureBox.Image.Flags」屬性
在我的形式,我使用的是圖片框名爲「圖片框」。我試圖獲取有關在圖片框內使用顯示的圖片信息PictureBox.Image.Flags屬性因此用戶可以查看這些信息。
但是,使用此屬性似乎非常困難,因爲它返回的值是其他值的總和。
什麼是使用此屬性的權利和最有效的方法?如果它不起作用,是否有另一種方式來代表圖像標誌信息而不使用此屬性?
我正在編程Visual Basic.NET in Visual studio 2017 RC。如何使用「PictureBox.Image.Flags」屬性
在我的形式,我使用的是圖片框名爲「圖片框」。我試圖獲取有關在圖片框內使用顯示的圖片信息PictureBox.Image.Flags屬性因此用戶可以查看這些信息。
但是,使用此屬性似乎非常困難,因爲它返回的值是其他值的總和。
什麼是使用此屬性的權利和最有效的方法?如果它不起作用,是否有另一種方式來代表圖像標誌信息而不使用此屬性?
來測試各個標誌使用而功能
If (PictureBox1.Image.Flags And System.Drawing.Imaging.ImageFlags.ColorSpaceGray) <> 0 Then
或倍數
Imports System.Drawing.Imaging.ImageFlags
If (PictureBox1.Image.Flags And (ColorSpaceGray + ColorSpaceRgb)) <> 0 Then
替代
Imports System.Drawing.Imaging
Imports System.Drawing.Imaging.ImageFlags
If CType(PictureBox1.Image.Flags, ImageFlags).HasFlag(ColorSpaceGray) then
或其倍數
If CType(PictureBox1.Image.Flags, ImageFlags).HasFlag(CType(ColorSpaceGray + ColorSpaceRgb, ImageFLags)) then
如果設置了標誌,括號內的值將不爲零。在這種情況下是一個二進制和。 –
謝謝,它工作!但我不明白「 \t 括號中的值如果設置標誌將不爲零」。 – HEA
你必須理解AND如何在二進制中工作... 1010 AND 0010 = 0010 ...這不是零。 –
由於MSDN和對象瀏覽器解釋它是System.Drawing.Imaging.ImageFlags這個System.Drawing.Image的按位組合它是一個枚舉,所以你可以使用flags.HasFlag(...) '測試一個值 – Plutonix
@Plutonix在哪裏使用flags.HasFlag(...)以及在哪裏? – HEA
Hasflag似乎沒有附加到旗幟@Plutonix –