Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / MIT / System / Web / UI / MobileControls / Design / Util / TemporaryBitmapFile.cs / 1305376 / TemporaryBitmapFile.cs
//------------------------------------------------------------------------------
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//-----------------------------------------------------------------------------
namespace System.Web.UI.Design.MobileControls.Util
{
using System;
using System.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
///
/// This class encapsulates a bitmap and a file that represents
/// the bitmap on disk. It would have been cleaner to subclass
/// bitmap, but the bitmap class is sealed.
///
[
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 TemporaryBitmapFile : IDisposable
{
private String _path;
private Bitmap _bitmap;
internal TemporaryBitmapFile(Bitmap bitmap)
{
Debug.Assert(bitmap != null,
"You must provide a valid bitmap object."
);
_bitmap = bitmap;
_path = Path.GetTempPath() + Guid.NewGuid().ToString() + ".bmp";
[....]();
}
public void Dispose()
{
if(_bitmap != null)
{
_bitmap.Dispose();
_bitmap = null;
}
if(_path != null)
{
FileAttributes fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa & ~FileAttributes.ReadOnly);
File.Delete(_path);
_path = null;
}
}
private void [....]()
{
FileAttributes fa;
if(File.Exists(_path))
{
fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa & ~FileAttributes.ReadOnly);
}
_bitmap.Save(_path, ImageFormat.Bmp);
// If the file did not exist previously, fa will not be valid.
fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa | FileAttributes.ReadOnly);
}
internal String Url
{
get
{
return "file:///" + _path;
}
}
internal Bitmap UnderlyingBitmap
{
get
{
return _bitmap;
}
set
{
Debug.Assert(value != null,
"Do not set UnderlyingBitmap to null. Instead, "+
"dispose of this object and create a new one later if " +
"neccessary. (A zero sized bmp can not be written to disk)"
);
if(_bitmap != null)
{
_bitmap.Dispose();
}
_bitmap = value;
[....]();
}
}
}
}
// 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.Diagnostics;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
///
/// This class encapsulates a bitmap and a file that represents
/// the bitmap on disk. It would have been cleaner to subclass
/// bitmap, but the bitmap class is sealed.
///
[
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 TemporaryBitmapFile : IDisposable
{
private String _path;
private Bitmap _bitmap;
internal TemporaryBitmapFile(Bitmap bitmap)
{
Debug.Assert(bitmap != null,
"You must provide a valid bitmap object."
);
_bitmap = bitmap;
_path = Path.GetTempPath() + Guid.NewGuid().ToString() + ".bmp";
[....]();
}
public void Dispose()
{
if(_bitmap != null)
{
_bitmap.Dispose();
_bitmap = null;
}
if(_path != null)
{
FileAttributes fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa & ~FileAttributes.ReadOnly);
File.Delete(_path);
_path = null;
}
}
private void [....]()
{
FileAttributes fa;
if(File.Exists(_path))
{
fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa & ~FileAttributes.ReadOnly);
}
_bitmap.Save(_path, ImageFormat.Bmp);
// If the file did not exist previously, fa will not be valid.
fa = File.GetAttributes(_path);
File.SetAttributes(_path, fa | FileAttributes.ReadOnly);
}
internal String Url
{
get
{
return "file:///" + _path;
}
}
internal Bitmap UnderlyingBitmap
{
get
{
return _bitmap;
}
set
{
Debug.Assert(value != null,
"Do not set UnderlyingBitmap to null. Instead, "+
"dispose of this object and create a new one later if " +
"neccessary. (A zero sized bmp can not be written to disk)"
);
if(_bitmap != null)
{
_bitmap.Dispose();
}
_bitmap = value;
[....]();
}
}
}
}
// 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
- StatusStrip.cs
- SelectionHighlightInfo.cs
- SamlAudienceRestrictionCondition.cs
- DataSourceControlBuilder.cs
- _TLSstream.cs
- DesignTimeValidationFeature.cs
- DataAdapter.cs
- SecurityCookieModeValidator.cs
- ColumnMapVisitor.cs
- DrawListViewSubItemEventArgs.cs
- Operand.cs
- XPathNodePointer.cs
- RevocationPoint.cs
- ClientRolePrincipal.cs
- ObjectQueryState.cs
- Pair.cs
- FullTextState.cs
- GeneralTransform2DTo3D.cs
- CookielessHelper.cs
- DuplicateWaitObjectException.cs
- AmbiguousMatchException.cs
- infer.cs
- ScopeElement.cs
- BinarySerializer.cs
- OdbcHandle.cs
- SmiMetaData.cs
- Codec.cs
- Selector.cs
- CallbackHandler.cs
- DecoderReplacementFallback.cs
- SettingsPropertyNotFoundException.cs
- ListSourceHelper.cs
- Point3DIndependentAnimationStorage.cs
- Bind.cs
- FastPropertyAccessor.cs
- ExpandCollapseProviderWrapper.cs
- ArrayList.cs
- CodeDirectiveCollection.cs
- TriggerActionCollection.cs
- StreamGeometry.cs
- TextElement.cs
- WriterOutput.cs
- PrivilegedConfigurationManager.cs
- FocusTracker.cs
- Normalizer.cs
- ArrayTypeMismatchException.cs
- MembershipAdapter.cs
- DictationGrammar.cs
- EditorZoneBase.cs
- BufferBuilder.cs
- LinqDataSourceSelectEventArgs.cs
- DesignerAutoFormat.cs
- Debugger.cs
- WindowsTokenRoleProvider.cs
- AddInServer.cs
- ListView.cs
- Rect.cs
- DataGridSortCommandEventArgs.cs
- TypeLoadException.cs
- CodeThrowExceptionStatement.cs
- WebPartConnection.cs
- TdsRecordBufferSetter.cs
- ConstraintStruct.cs
- ErrorFormatter.cs
- PersonalizationProviderCollection.cs
- ErrorWebPart.cs
- DesignBindingEditor.cs
- ActivitySurrogate.cs
- KeyFrames.cs
- ToolboxComponentsCreatedEventArgs.cs
- SoapProtocolImporter.cs
- Pens.cs
- XPathDescendantIterator.cs
- FolderLevelBuildProvider.cs
- ValidatingReaderNodeData.cs
- PasswordDeriveBytes.cs
- VisualSerializer.cs
- Registry.cs
- HelpFileFileNameEditor.cs
- ConfigurationLoaderException.cs
- ArgIterator.cs
- TableRowCollection.cs
- Span.cs
- OSFeature.cs
- KnownTypesHelper.cs
- PageWrapper.cs
- PKCS1MaskGenerationMethod.cs
- ImageIndexConverter.cs
- StreamInfo.cs
- WrappedIUnknown.cs
- SurrogateSelector.cs
- DigestComparer.cs
- LicenseProviderAttribute.cs
- ReachDocumentSequenceSerializer.cs
- AutoSizeToolBoxItem.cs
- _Win32.cs
- SelectionItemProviderWrapper.cs
- DoubleCollectionConverter.cs
- RelationshipType.cs
- Fonts.cs