Class DisposableObject
Namespace: Aspose.Imaging
Assembly: Aspose.Imaging.dll (25.2.0)
Представляет объект, который можно освобождать.
public class DisposableObject : IDisposable
Наследование
Производные
Brush, CdrObject, CmxContainer, CmxPage, DataStreamSupporter, EmbeddedImage, ImageOptionsBase, MaskingResult, StreamContainer, StringFormat
Реализует
Унаследованные члены
object.GetType(), object.MemberwiseClone(), object.ToString(), object.Equals(object?), object.Equals(object?, object?), object.ReferenceEquals(object?, object?), object.GetHashCode()
Конструкторы
DisposableObject()
public DisposableObject()
Свойства
Disposed
Получает значение, указывающее, была ли эта инстанция освобождена.
public bool Disposed { get; }
Значение свойства
Методы
Dispose()
Освобождает текущую инстанцию.
public void Dispose()
Примеры
Следующий пример показывает, как составить многопользовательский TIFF из отдельных растровых изображений.```csharp [C#]
Aspose.Imaging.ImageOptions.TiffOptions createTiffOptions = new Aspose.Imaging.ImageOptions.TiffOptions(Aspose.Imaging.FileFormats.Tiff.Enums.TiffExpectedFormat.Default);
createTiffOptions.Source = new Aspose.Imaging.Sources.FileCreateSource("c:\\temp\\multipage.tif", false);
createTiffOptions.Photometric = Aspose.Imaging.FileFormats.Tiff.Enums.TiffPhotometrics.Rgb;
createTiffOptions.BitsPerSample = new ushort[] { 8, 8, 8 };
using (Aspose.Imaging.FileFormats.Tiff.TiffImage tiffImage = (Aspose.Imaging.FileFormats.Tiff.TiffImage)Image.Create(createTiffOptions, 100, 100))
{
// Это шрифт и кисть для рисования текста на отдельных кадрах.
Aspose.Imaging.Font font = new Aspose.Imaging.Font("Arial", 64);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.White);
// Создаем 5 кадров
for (int i = 1; i <= 5; i++)
{
Aspose.Imaging.ImageOptions.PngOptions createPngOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createPngOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream());
// Создаем изображение PNG и рисуем номер страницы на нем.
Aspose.Imaging.FileFormats.Png.PngImage pngImage = (Aspose.Imaging.FileFormats.Png.PngImage)Image.Create(createPngOptions, 100, 100);
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(pngImage);
gr.DrawString(i.ToString(), font, brush, 10, 10);
// Создаем кадр на основе изображения PNG.
Aspose.Imaging.FileFormats.Tiff.TiffFrame frame = new Aspose.Imaging.FileFormats.Tiff.TiffFrame(pngImage);
// Добавляем кадр в изображение TIFF.
tiffImage.AddFrame(frame);
}
// Изображение было создано с одним кадром по умолчанию. Давайте удалим его.
Aspose.Imaging.FileFormats.Tiff.TiffFrame activeFrame = tiffImage.ActiveFrame;
tiffImage.ActiveFrame = tiffImage.Frames[1];
tiffImage.RemoveFrame(0);
// Не забудьте освободить кадр, если вы не добавите его в другое изображение TiffImage
activeFrame.Dispose();
tiffImage.Save();
}
### <a id="Aspose_Imaging_DisposableObject_Finalize"></a> \~DisposableObject\(\)
```csharp
protected ~DisposableObject()
ReleaseManagedResources()
Освобождает управляемые ресурсы. Убедитесь, что здесь не освобождаются неуправляемые ресурсы, так как они могли быть уже освобождены.
protected virtual void ReleaseManagedResources()
ReleaseUnmanagedResources()
Освобождает неуправляемые ресурсы. Убедитесь, что здесь не освобождаются управляемые ресурсы, так как они могли быть уже освобождены.
protected virtual void ReleaseUnmanagedResources()
VerifyNotDisposed()
Проверяет, что текущая инстанция не была освобождена.
protected void VerifyNotDisposed()