2017-09-25 10 views
-1

.NET Frameworkを使用してVBスクリプトから出力しているビットマップイメージのImage.Flagsプロパティ(System.Drawing名前空間)を設定する方法を見つけようとしています。 4.5.1。 Microsoft's documentationには、Image.FlagsプロパティがReadOnlyプロパティであると記載されていますが、Imageオブジェクトをビットマップに変換する際にフラグを変更するために、メタデータなどを介して可能な方法がありますか?VBのビットマップオブジェクトのImage.Flagsを設定する

答えて

0

フラグは直接設定しないでください。フラグは単にビットマップを記述するために使用されます。ここ

ビットマップはアルファチャンネル(透明度)を有する場合、アルファチャンネルなしで異なるビットマップをチェック

フォームのPictureBox1は、透明な背景と画像

enter image description here

Dim b As New Bitmap(PictureBox1.Image) ' this image has alpha 
MessageBox.Show(String.Format("Has Alpha: {0}", (b.Flags And ImageFlags.HasAlpha) > 0)) 
Dim c = New Bitmap(b.Width, b.Height, PixelFormat.Format24bppRgb) ' convert to no alpha 
MessageBox.Show(String.Format("Has Alpha: {0}", (c.Flags And ImageFlags.HasAlpha) > 0)) 
を有する我々は確認例であります

メッセージボックスは、出力するでしょうHas Alpha: trueHas Alpha: false

したがって、アルファフラグを効果的に設定しましたが、実際には対応する基本プロパティを変更するだけです。

この例に示すように、フラグはビットマスクであり、System.Drawing.Imaging.PixelFormatの値を持つAndの場合、フラグが高いかどうか(結果が> 0)を確認できます。

関連する問題