Exemple #1
0
 internal static extern GpStatus GdipGetPropertyItemSize(GpImage image, PROPID propId, out uint size);
Exemple #2
0
 internal static extern GpStatus GdipGetPropertyIdList(GpImage image, uint numOfProperty, PROPID[] list);
Exemple #3
0
 GdipGetPropertyItemSize(GpImage image, PROPID propId, out uint size);
        public object GetValue()
        {
            object result = null;
            PROPID propid = this.vt;

            if (propid <= PROPID.VT_LPWSTR)
            {
                switch (propid)
                {
                case PROPID.VT_I2:
                    result = this.iVal;
                    break;

                case PROPID.VT_I4:
                    result = this.lVal;
                    break;

                case PROPID.VT_R4:
                    result = this.fltVal;
                    break;

                case PROPID.VT_R8:
                    result = this.dblVal;
                    break;

                case PROPID.VT_CY:
                case PROPID.VT_DATE:
                case PROPID.VT_BSTR:
                case PROPID.VT_DISPATCH:
                case PROPID.VT_VARIANT:
                case PROPID.VT_DECIMAL:
                case PROPID.VT_NULL | PROPID.VT_I2 | PROPID.VT_R4 | PROPID.VT_BSTR:
                    break;

                case PROPID.VT_ERROR:
                    result = this.scode;
                    break;

                case PROPID.VT_BOOL:
                    result = (0 != this.boolVal);
                    break;

                case PROPID.VT_UNKNOWN:
                    result = Marshal.GetObjectForIUnknown(this.ptr);
                    break;

                case PROPID.VT_I1:
                    result = this.cVal;
                    break;

                case PROPID.VT_UI1:
                    result = this.bVal;
                    break;

                case PROPID.VT_UI2:
                    result = this.uiVal;
                    break;

                case PROPID.VT_UI4:
                    result = this.ulVal;
                    break;

                case PROPID.VT_I8:
                    result = this.hVal;
                    break;

                case PROPID.VT_UI8:
                    result = this.uhVal;
                    break;

                default:
                    switch (propid)
                    {
                    case PROPID.VT_LPSTR:
                        result = Marshal.PtrToStringAnsi(this.ptr);
                        break;

                    case PROPID.VT_LPWSTR:
                        result = Marshal.PtrToStringUni(this.ptr);
                        break;
                    }
                    break;
                }
            }
            else if (propid != PROPID.VT_FILETIME)
            {
                if (propid == PROPID.VT_CLSID)
                {
                    result = Marshal.PtrToStructure(this.ptr, typeof(Guid));
                }
            }
            else
            {
                result = PROPVARIANT.FileTimeStart.Add(new TimeSpan(this.filetime));
            }
            return(result);
        }
Exemple #5
0
GdipGetPropertyItemSize(GpImage image, PROPID propId, out uint size);
Exemple #6
0
GdipGetPropertyIdList(GpImage image, uint numOfProperty, PROPID[] list);