Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / Util / WbmpConverter.cs / 1305376 / WbmpConverter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Util { using System; using System.Drawing; using System.Diagnostics; [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal class WbmpConverter { private static int ExtractMultiByte(Byte[] buffer, ref int cursor) { int sum = 0; do { sum <<= 7; sum += buffer[cursor] & 0x7F; } while((buffer[cursor++] & 0x80) != 0); return sum; } internal static Bitmap Convert(Byte[] buffer) { try { int cursor = 0; int type = buffer[cursor++]; if(type != 0) { Debug.Fail("Wbmp is not type 0. (Unsupported)"); return null; } int header = buffer[cursor++]; int width = ExtractMultiByte(buffer, ref cursor); int height = ExtractMultiByte(buffer, ref cursor); Bitmap bitmap = new Bitmap(width, height); Byte mask = 0x80; for(int y = 0; y < height; y++) { for(int x = 0; x < width; x++) { if((buffer[cursor] & mask) == 0) { bitmap.SetPixel(x, y, Color.Black); } else { bitmap.SetPixel(x, y, Color.White); } mask >>= 1; if(mask == 0) { mask = 0x80; cursor++; } } // each row starts at the beginning of an octet if(mask != 0x80) { mask = 0x80; cursor++; } } return bitmap; } catch { Debug.Fail("Wbmp file appears to be corrupt."); return null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.Design.MobileControls.Util { using System; using System.Drawing; using System.Diagnostics; [ System.Security.Permissions.SecurityPermission(System.Security.Permissions.SecurityAction.Demand, Flags=System.Security.Permissions.SecurityPermissionFlag.UnmanagedCode) ] [Obsolete("The System.Web.Mobile.dll assembly has been deprecated and should no longer be used. For information about how to develop ASP.NET mobile applications, see http://go.microsoft.com/fwlink/?LinkId=157231.")] internal class WbmpConverter { private static int ExtractMultiByte(Byte[] buffer, ref int cursor) { int sum = 0; do { sum <<= 7; sum += buffer[cursor] & 0x7F; } while((buffer[cursor++] & 0x80) != 0); return sum; } internal static Bitmap Convert(Byte[] buffer) { try { int cursor = 0; int type = buffer[cursor++]; if(type != 0) { Debug.Fail("Wbmp is not type 0. (Unsupported)"); return null; } int header = buffer[cursor++]; int width = ExtractMultiByte(buffer, ref cursor); int height = ExtractMultiByte(buffer, ref cursor); Bitmap bitmap = new Bitmap(width, height); Byte mask = 0x80; for(int y = 0; y < height; y++) { for(int x = 0; x < width; x++) { if((buffer[cursor] & mask) == 0) { bitmap.SetPixel(x, y, Color.Black); } else { bitmap.SetPixel(x, y, Color.White); } mask >>= 1; if(mask == 0) { mask = 0x80; cursor++; } } // each row starts at the beginning of an octet if(mask != 0x80) { mask = 0x80; cursor++; } } return bitmap; } catch { Debug.Fail("Wbmp file appears to be corrupt."); return null; } } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WriterOutput.cs
- HandlerBase.cs
- BooleanExpr.cs
- SQLDateTime.cs
- Pair.cs
- FrameworkContentElementAutomationPeer.cs
- InvalidDataException.cs
- SqlDataSourceQueryConverter.cs
- CodeCatchClause.cs
- XmlToDatasetMap.cs
- SelfIssuedAuthProofToken.cs
- DbLambda.cs
- RoutedUICommand.cs
- SubtreeProcessor.cs
- XmlWrappingWriter.cs
- HtmlInputText.cs
- TaskResultSetter.cs
- AttributeData.cs
- shaperfactoryquerycachekey.cs
- PieceNameHelper.cs
- Group.cs
- VectorAnimationUsingKeyFrames.cs
- ObjectStateEntryBaseUpdatableDataRecord.cs
- Subset.cs
- TcpDuplicateContext.cs
- EventLog.cs
- streamingZipPartStream.cs
- ModelChangedEventArgsImpl.cs
- DefaultWorkflowLoaderService.cs
- XmlQueryTypeFactory.cs
- EntityContainerRelationshipSetEnd.cs
- DataGridHeaderBorder.cs
- NameTable.cs
- PersonalizationStateQuery.cs
- WindowsToolbarAsMenu.cs
- ToolStripDesignerUtils.cs
- VoiceObjectToken.cs
- AuthenticationModuleElementCollection.cs
- CodeNamespaceImport.cs
- TrackingProvider.cs
- DesignerHierarchicalDataSourceView.cs
- GetReadStreamResult.cs
- XmlChildNodes.cs
- TraceLevelHelper.cs
- ToolStripDesignerAvailabilityAttribute.cs
- Int32KeyFrameCollection.cs
- ProfilePropertySettings.cs
- ElementNotEnabledException.cs
- SmiContext.cs
- UInt32Storage.cs
- CompilerInfo.cs
- EntityClassGenerator.cs
- DbConnectionFactory.cs
- StackSpiller.Generated.cs
- OledbConnectionStringbuilder.cs
- SafeLibraryHandle.cs
- RecordsAffectedEventArgs.cs
- ErrorHandlerModule.cs
- BitVector32.cs
- XmlResolver.cs
- coordinatorscratchpad.cs
- Misc.cs
- LassoHelper.cs
- SvcMapFileLoader.cs
- CopyCodeAction.cs
- SAPICategories.cs
- Transform3DGroup.cs
- ThreadExceptionEvent.cs
- StylusPoint.cs
- InternalTypeHelper.cs
- HtmlInputHidden.cs
- SQLDoubleStorage.cs
- RegisteredArrayDeclaration.cs
- TripleDES.cs
- ActivityCollectionMarkupSerializer.cs
- FilteredReadOnlyMetadataCollection.cs
- TemplateBindingExtensionConverter.cs
- BaseValidatorDesigner.cs
- WpfKnownTypeInvoker.cs
- PointLight.cs
- DesignerActionTextItem.cs
- TextAutomationPeer.cs
- NullableLongMinMaxAggregationOperator.cs
- SemaphoreFullException.cs
- AppearanceEditorPart.cs
- ObjectTag.cs
- MDIControlStrip.cs
- GlyphingCache.cs
- BuildProvider.cs
- DataGridParentRows.cs
- RequestTimeoutManager.cs
- dsa.cs
- ZipIOExtraFieldPaddingElement.cs
- Queue.cs
- GcHandle.cs
- XmlSchemaSimpleContentRestriction.cs
- Stylesheet.cs
- PropertyConverter.cs
- InputEventArgs.cs
- HtmlTernaryTree.cs