protected override void WriteCore(ITextColorWriter output, DocumentNodeWriteOptions options)
 {
     output.Write(BoxedTextColor.HexStorageStream, dnSpy_AsmEditor_Resources.HexNode_StorageStream);
     output.WriteSpace();
     output.Write(BoxedTextColor.Operator, "#");
     output.Write(BoxedTextColor.Number, StreamNumber.ToString());
     output.Write(BoxedTextColor.Punctuation, ":");
     output.WriteSpace();
     output.Write(StorageStreamType == StorageStreamType.None ? BoxedTextColor.HexStorageStreamNameInvalid : BoxedTextColor.HexStorageStreamName, string.Format("{0}", storageStreamVM.RCNameVM.StringZ));
 }
Beispiel #2
0
 protected override void Write(ITextColorWriter output)
 {
     output.Write(BoxedTextColor.InstanceField, dnSpy_AsmEditor_Resources.HexNode_StorageStream);
     output.WriteSpace();
     output.Write(BoxedTextColor.Operator, "#");
     output.Write(BoxedTextColor.Number, StreamNumber.ToString());
     output.Write(BoxedTextColor.Punctuation, ":");
     output.WriteSpace();
     output.Write(StorageStreamType == StorageStreamType.None ? BoxedTextColor.Error : BoxedTextColor.Type, string.Format("{0}", storageStreamVM.RCNameVM.StringZ));
 }
        private BitmapImage GetBitmapImageFromCamera(StreamNumber StreamNum)
        {
            // 根据选择的传感器类型,获得图像数据区指针以及图像的Stride
            Ptr_ImageData = CameraOperator.GetFrameData((int)StreamNum);
            int step = CameraOperator.GetFrameStep((int)StreamNum);

            // 根据选择的传感器类型,设置不同的像素格式
            // 不同类型的传感器,像素格式有单字节灰度、双字节灰度、3字节RGB等不同格式
            System.Drawing.Imaging.PixelFormat pixelFormat = System.Drawing.Imaging.PixelFormat.DontCare;
            switch (StreamNum)
            {
            case StreamNumber.StreamLeft:
                pixelFormat = System.Drawing.Imaging.PixelFormat.Format8bppIndexed;
                break;

            case StreamNumber.StreamRight:
                pixelFormat = System.Drawing.Imaging.PixelFormat.Format8bppIndexed;
                break;

            case StreamNumber.StreamDepth:
                pixelFormat = System.Drawing.Imaging.PixelFormat.Format16bppGrayScale;
                break;

            case StreamNumber.StreamColor:
                pixelFormat = System.Drawing.Imaging.PixelFormat.Format24bppRgb;
                break;

            default:
                break;
            }
            // 根据上述信息,提取图像数据并转换为Bitmap,然后再转换为BitmapImage
            Bitmap      bitmap      = new Bitmap(width, height, step, pixelFormat, Ptr_ImageData);
            BitmapImage bitmapImage = ConvertBitmap2BitmapImage(bitmap);

            bitmap.Dispose();
            // 返回转换完成的BitmapImage
            return(bitmapImage);
        }