Class BmpImage
نام ها : Aspose.Imaging.FileFormats.Bmp جمع آوری: Aspose.Imaging.dll (25.4.0)
شما می توانید به راحتی Bitmap (BMP) و Device Independent Bitmap را مدیریت کنید.(DIB) فایل ها، تسهیل دستکاری موثر و پردازش راستربا انجام عملیات های مختلف بر روی تصاویر، این API باعث می شود کهجریان کار، ارائه به توسعه دهندگان یک مجموعه ابزار قابل اعتماد برای کار با BMP وفرمت های DIB در برنامه های نرم افزاری خود
[JsonObject(MemberSerialization.OptIn)]
public sealed class BmpImage : RasterCachedImage, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage ← RasterCachedImage ← BmpImage
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata
اعضای ارثی
RasterCachedImage.CacheData() , RasterCachedImage.Blend(Point, RasterImage, Rectangle, byte) , RasterCachedImage.Resize(int, int, ResizeType) , RasterCachedImage.Resize(int, int, ImageResizeSettings) , RasterCachedImage.RotateFlip(RotateFlipType) , RasterCachedImage.Rotate(float, bool, Color) , RasterCachedImage.Crop(Rectangle) , RasterCachedImage.Dither(DitheringMethod, int, IColorPalette) , RasterCachedImage.Grayscale() , RasterCachedImage.NormalizeHistogram() , RasterCachedImage.BinarizeFixed(byte) , RasterCachedImage.BinarizeOtsu() , RasterCachedImage.BinarizeBradley(double, int) , RasterCachedImage.BinarizeBradley(double) , RasterCachedImage.AdjustBrightness(int) , RasterCachedImage.AdjustContrast(float) , RasterCachedImage.AdjustGamma(float, float, float) , RasterCachedImage.AdjustGamma(float) , RasterCachedImage.IsCached , RasterImage.RemoveMetadata() , RasterImage.Save(Stream, ImageOptionsBase, Rectangle) , RasterImage.GetModifyDate(bool) , RasterImage.Dither(DitheringMethod, int) , RasterImage.Dither(DitheringMethod, int, IColorPalette) , RasterImage.GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings) , RasterImage.GetDefaultArgb32Pixels(Rectangle) , RasterImage.GetDefaultRawData(Rectangle, RawDataSettings) , RasterImage.GetArgb32Pixel(int, int) , RasterImage.GetPixel(int, int) , RasterImage.SetArgb32Pixel(int, int, int) , RasterImage.SetPixel(int, int, Color) , RasterImage.ReadScanLine(int) , RasterImage.ReadArgb32ScanLine(int) , RasterImage.WriteScanLine(int, Color[]) , RasterImage.WriteArgb32ScanLine(int, int[]) , RasterImage.LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader) , RasterImage.LoadPartialPixels(Rectangle, IPartialPixelLoader) , RasterImage.LoadArgb32Pixels(Rectangle) , RasterImage.LoadArgb64Pixels(Rectangle) , RasterImage.LoadPartialArgb64Pixels(Rectangle, IPartialArgb64PixelLoader) , RasterImage.LoadPixels(Rectangle) , RasterImage.LoadCmykPixels(Rectangle) , RasterImage.LoadCmyk32Pixels(Rectangle) , RasterImage.LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader) , RasterImage.SaveRawData(byte[], int, Rectangle, RawDataSettings) , RasterImage.SaveArgb32Pixels(Rectangle, int[]) , RasterImage.SavePixels(Rectangle, Color[]) , RasterImage.SaveCmykPixels(Rectangle, CmykColor[]) , RasterImage.SaveCmyk32Pixels(Rectangle, int[]) , RasterImage.SetResolution(double, double) , RasterImage.SetPalette(IColorPalette, bool) , RasterImage.Resize(int, int, ImageResizeSettings) , RasterImage.Rotate(float, bool, Color) , RasterImage.Rotate(float) , RasterImage.BinarizeFixed(byte) , RasterImage.BinarizeOtsu() , RasterImage.BinarizeBradley(double) , RasterImage.BinarizeBradley(double, int) , RasterImage.Blend(Point, RasterImage, Rectangle, byte) , RasterImage.Blend(Point, RasterImage, byte) , RasterImage.Grayscale() , RasterImage.NormalizeHistogram() , RasterImage.AdjustBrightness(int) , RasterImage.AdjustContrast(float) , RasterImage.AdjustGamma(float, float, float) , RasterImage.AdjustGamma(float) , RasterImage.GetSkewAngle() , RasterImage.NormalizeAngle() , RasterImage.NormalizeAngle(bool, Color) , RasterImage.Filter(Rectangle, FilterOptionsBase) , RasterImage.ReplaceColor(Color, byte, Color) , RasterImage.ReplaceColor(int, byte, int) , RasterImage.ReplaceNonTransparentColors(Color) , RasterImage.ReplaceNonTransparentColors(int) , RasterImage.ToBitmap() , RasterImage.PremultiplyComponents , RasterImage.UseRawData , RasterImage.UpdateXmpData , RasterImage.XmpData , RasterImage.RawIndexedColorConverter , RasterImage.RawCustomColorConverter , RasterImage.RawFallbackIndex , RasterImage.RawDataSettings , RasterImage.UsePalette , RasterImage.RawDataFormat , RasterImage.RawLineSize , RasterImage.IsRawDataAvailable , RasterImage.HorizontalResolution , RasterImage.VerticalResolution , RasterImage.HasTransparentColor , RasterImage.HasAlpha , RasterImage.TransparentColor , RasterImage.ImageOpacity , Image.CanLoad(string) , Image.CanLoad(string, LoadOptions) , Image.CanLoad(Stream) , Image.CanLoad(Stream, LoadOptions) , Image.Create(ImageOptionsBase, int, int) , Image.Create(Image[]) , Image.Create(MultipageCreateOptions) , Image.Create(string[], bool) , Image.Create(string[]) , Image.Create(Image[], bool) , Image.GetFileFormat(string) , Image.GetFileFormat(Stream) , Image.GetFittingRectangle(Rectangle, int, int) , Image.GetFittingRectangle(Rectangle, int[], int, int) , Image.Load(string, LoadOptions) , Image.Load(string) , Image.Load(Stream, LoadOptions) , Image.Load(Stream) , Image.GetProportionalWidth(int, int, int) , Image.GetProportionalHeight(int, int, int) , Image.RemoveMetadata() , Image.CanSave(ImageOptionsBase) , Image.Resize(int, int) , Image.Resize(int, int, ResizeType) , Image.Resize(int, int, ImageResizeSettings) , Image.GetDefaultOptions(object[]) , Image.GetOriginalOptions() , Image.ResizeWidthProportionally(int) , Image.ResizeHeightProportionally(int) , Image.ResizeWidthProportionally(int, ResizeType) , Image.ResizeHeightProportionally(int, ResizeType) , Image.ResizeWidthProportionally(int, ImageResizeSettings) , Image.ResizeHeightProportionally(int, ImageResizeSettings) , Image.RotateFlip(RotateFlipType) , Image.Rotate(float) , Image.Crop(Rectangle) , Image.Crop(int, int, int, int) , Image.Save() , Image.Save(string) , Image.Save(string, ImageOptionsBase) , Image.Save(string, ImageOptionsBase, Rectangle) , Image.Save(Stream, ImageOptionsBase) , Image.Save(Stream, ImageOptionsBase, Rectangle) , Image.GetSerializedStream(ImageOptionsBase, Rectangle, out int) , Image.SetPalette(IColorPalette, bool) , Image.BitsPerPixel , Image.Bounds , Image.Container , Image.Height , Image.Palette , Image.UsePalette , Image.Size , Image.Width , Image.InterruptMonitor , Image.BufferSizeHint , Image.AutoAdjustPalette , Image.HasBackgroundColor , Image.FileFormat , Image.BackgroundColor , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.Disposed , object.GetType() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
تصویر BMP که قبلا با استفاده از الگوریتم فشرده سازی DXT1 فشرده شده است.
using (var image = Image.Load("CompressedTiger.bmp"))
{
image.Save("DecompressedTiger.bmp", new BmpOptions());
}
با استفاده از الگوریتم فشرده سازی DXT1 تصویر BMP را فشرده کنید.
using (var image = Image.Load("Tiger.bmp"))
{
image.Save("CompressedTiger.bmp", new BmpOptions { Compression = BitmapCompression.Dxt1 });
}
نمونه نشان می دهد که چگونه برای حذف هر یک از اشیاء از تصویر با استفاده از گرافیک مسیر با الگوریتم Telea.
var imageFilePath = "ball.png";
using (var image = Image.Load(imageFilePath))
{
var pngImage = (PngImage)image;
var mask = new GraphicsPath();
var firstFigure = new Figure();
firstFigure.AddShape(new EllipseShape(new RectangleF(350, 170, 570 - 350, 400 - 170)));
mask.AddFigure(firstFigure);
var options = new TeleaWatermarkOptions(mask);
var result = WatermarkRemover.PaintOver(pngImage, options);
result.Save(outputPath);
}
نمونه نشان می دهد که چگونه یک BmpImage را با نوع فشرده سازی Rgb صادر کنید.
string sourcePath = "input.png";
// Load a PNG image from a file.
using (Image pngImage = Image.Load(sourcePath))
{
// BMP image is saved with transparency support by default, that is achieved by using the BitmapCompression.Bitfields compression method.
// To save a BMP image with the Rgb compression method, the BmpOptions with the Compression property set to BitmapCompression.Rgb should be specified.
pngImage.Save(outputPath, new BmpOptions() { Compression = BitmapCompression.Rgb });
}
نمونه نشان می دهد که چگونه برای حذف هر یک از اشیاء از تصویر با استفاده از گرافیک مسیر با محتوای آگاه پر کردن الگوریتم.
var imageFilePath = "ball.png";
using (var image = Image.Load(imageFilePath))
{
var pngImage = (PngImage)image;
var mask = new GraphicsPath();
var firstFigure = new Figure();
firstFigure.AddShape(new EllipseShape(new RectangleF(350, 170, 570 - 350, 400 - 170)));
mask.AddFigure(firstFigure);
var options = new ContentAwareFillWatermarkOptions(mask)
{
MaxPaintingAttempts = 4
};
var result = WatermarkRemover.PaintOver(pngImage, options);
result.Save(outputPath);
}
مثال زیر نشان می دهد که چگونه یک تصویر BMP از اندازه مشخص شده ایجاد کنید.
string dir = "c:\\temp\\";
// Create a BMP image 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Fill the image with a simple linear red-black gradient.
int width = bmpImage.Width;
int height = bmpImage.Height;
for (int y = 0; y < height; y++)
{
for (int x = 0; x < width; x++)
{
int hue = (255 * x) / width;
bmpImage.SetPixel(x, y, Aspose.Imaging.Color.FromArgb(255, hue, 0, 0));
}
}
using (System.IO.FileStream stream = new System.IO.FileStream(dir + "output.bmp", System.IO.FileMode.Create))
{
bmpImage.Save(stream);
}
}
مثال نشان می دهد که چگونه یک BmpImage از یک فایل Png در حالی که نگه داشتن کانال آلفا، ذخیره یک فایل Bmp با شفافیت.
string sourcePath = "input.png";
// Load a PNG image from a file.
using (Image pngImage = Image.Load(sourcePath))
{
// BMP image is saved with transparency support by default.
// If you want to explicitly specify such mode, the BmpOptions's Compression property should be set to BitmapCompression.Bitfields.
// The BitmapCompression.Bitfields compression method is the default compression method in the BmpOptions.
// So the same result of exporting a Bmp image with transparency can be achieved by either one of the following ways.
// With an implicit default options:
pngImage.Save(outputPath);
// With an explicit default options:
pngImage.Save(outputPath, new BmpOptions());
// Specifying the BitmapCompression.Bitfields compression method:
pngImage.Save(outputPath, new BmpOptions() { Compression = BitmapCompression.Bitfields });
}
Constructors
BmpImage(String)
شروع به استفاده از کلاس BmpImage بدون تلاش با این سازنده کهشروع یک مثال جدید. مناسب برای توسعه دهندگان که می خواهند به بالا واجرا با Aspose.Imaging.FileFormats.Bmp.BmpImage اشیاء به سرعت و به طور موثر.
public BmpImage(string path)
Parameters
path
string
مسیر برای بارگذاری تصویر از و شروع پیکسل و داده های پالت با.
Examples
نمونه نشان می دهد که چگونه یک BmpImage را از یک فایل بارگذاری کنید.
string dir = "c:\\temp\\";
// Load a BMP image from a file.
// The source pixels will be converted to 32-bpp format if required.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(dir + "sample.bmp"))
{
// Do some image processing.
// Save to another BMP file.
bmpImage.Save(dir + "sample.output.32bpp.bmp");
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(تبلت، تبلت، تبلت، تبلت، تبلت، تبلت)
بدون تلاش یک مثال جدید از کلاس Aspose.Imaging.FileFormats.Bmp.BmpImage با این سازنده ایجاد کنید،با استفاده از پارامترهای مشخص شده مانند مسیر، بیتیPerPixel، و فشرده سازی.تلاش برای شروع اشیاء BmpImage به سرعت و به طور موثر، با کنترل دقیقدر مورد ویژگی های تصویر
public BmpImage(string path, ushort bitsPerPixel, BitmapCompression compression, double horizontalResolution, double verticalResolution)
Parameters
path
string
مسیر برای بارگذاری تصویر از و شروع پیکسل و داده های پالت با.
bitsPerPixel
ushort
بیت ها در هر پیکسل
compression
BitmapCompression
فشرده سازی برای استفاده
horizontalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
verticalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
Examples
نمونه نشان می دهد که چگونه یک BmpImage را از یک فایل با عمق بیتی و رزولوشن مشخص شده بارگذاری کنید.
string dir = "c:\\temp\\";
// Load a BMP image from a file.
// The source pixels will be converted to 24-bpp format if required.
// The resolution will be set to 96 dpi.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage =
new Aspose.Imaging.FileFormats.Bmp.BmpImage(dir + "sample.bmp", 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
// Do some image processing.
// Save to another BMP file.
bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(Stream)
شروع به استفاده از Aspose.Imaging.FileFormats.Bmp.BmpImage کلاس بدون تلاش با شروع یک مثال جدیدبا این سازنده، با استفاده از جریان به عنوان ورودی. مناسب برای توسعه دهندگان به دنبالیک راه مناسب برای کار با اشیاء BmpImage از منابع مختلف داده،انعطاف پذیری و انعطاف پذیری را تضمین می کند.
public BmpImage(Stream stream)
Parameters
stream
Stream
جریان برای بارگذاری تصویر از و شروع پیکسل و داده های پالت با.
Examples
مثال نشان می دهد که چگونه یک BmpImage را از یک جریان فایل بارگذاری کنید.
string dir = "c:\\temp\\";
// Load a BMP image from a file stream.
// The source pixels will be converted to 32-bpp format if required.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.bmp"))
{
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(stream))
{
// Do some image processing.
// Save to another BMP file.
bmpImage.Save(dir + "sample.output.32bpp.bmp");
}
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(جریان، ushort، BitmapCompression، دوگانه، دوگانه)
شروع به کار با Aspose.Imaging.FileFormats.Bmp.BmpImage کلاس بدون هیچ مشکلی با ایجادیک مثال جدید با استفاده از یک جریان، همراه با پارامترهای مشخص شده مانند bitsPerPixelمناسب برای توسعه دهندگان که به دنبال یک راه ساده برای مقابله باBmpImage اشیاء، تضمین انعطاف پذیری و بهره وری در پروژه های خود را.
public BmpImage(Stream stream, ushort bitsPerPixel, BitmapCompression compression, double horizontalResolution, double verticalResolution)
Parameters
stream
Stream
جریان برای بارگذاری تصویر از و شروع پیکسل و داده های پالت با.
bitsPerPixel
ushort
بیت ها در هر پیکسل
compression
BitmapCompression
فشرده سازی برای استفاده
horizontalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
verticalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
Examples
نمونه نشان می دهد که چگونه یک BmpImage را از یک جریان فایل با عمق بیت و رزولوشن مشخص شده بارگذاری کنید.
string dir = "c:\\temp\\";
// Load a BMP image from a file stream.
// The source pixels will be converted to 24-bpp format if required.
// The resolution will be set to 96 dpi.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.bmp"))
{
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage =
new Aspose.Imaging.FileFormats.Bmp.BmpImage(stream, 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
// Do some image processing.
// Save to another BMP file.
bmpImage.Save(dir + "sample.output.24bpp.96dpi.bmp");
}
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(RasterImage)
بدون تلاش یک مثال جدید از کلاس Aspose.Imaging.FileFormats.Bmp.BmpImage ایجاد کنیدبا شروع آن با یک RasterImage اشیاء. کامل برای توسعه دهندگان به نظر می رسدبه صورت غیرمستقیم تصاویر راستر موجود را به فرمت BmpImage تبدیل کنید.سازگاری و آسان برای ادغام در پروژه های خود.
public BmpImage(RasterImage rasterImage)
Parameters
rasterImage
RasterImage
تصویر برای شروع پیکسل و داده های پالت با.
Examples
مثال نشان می دهد که چگونه یک BmpImage را از یک مثال دیگر از RasterImage بارگذاری کنید.
string dir = "c:\\temp\\";
// Create a new PNG image.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
// Fill the entire PNG image in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(rasterImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, rasterImage.Bounds);
// Create a BMP image based on the PNG image.
// The source pixels will be converted to 32-bpp format if required.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(rasterImage))
{
// Save to a BMP file
bmpImage.Save(dir + "output.32bpp.bmp");
}
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(RasterImage، ushort، BitmapCompression، دوگانه، دوگانه)
شروع به کار با Aspose.Imaging.FileFormats.Bmp.BmpImage کلاس بدون هیچ مشکلی با ایجاد یک مثال جدیدبا استفاده از یک rasterImage همراه با پارامترهای مشخص شده مانند bitsPerPixel و فشرده سازی.مناسب برای توسعه دهندگان به دنبال یک راه ساده برای مقابله با اشیاء BmpImage،انعطاف پذیری و بهره وری در پروژه های خود را تضمین کنید.
public BmpImage(RasterImage rasterImage, ushort bitsPerPixel, BitmapCompression compression, double horizontalResolution, double verticalResolution)
Parameters
rasterImage
RasterImage
تصویر برای شروع پیکسل و داده های پالت با.
bitsPerPixel
ushort
بیت ها در هر پیکسل
compression
BitmapCompression
فشرده سازی برای استفاده
horizontalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
verticalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
Examples
نمونه نشان می دهد که چگونه یک BmpImage را از یک مثال دیگر از RasterImage با عمق بیت و فشرده سازی مشخص شده بارگذاری کنید.
string dir = "c:\\temp\\";
// Create a new PNG image.
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
using (Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(createOptions, 100, 100))
{
// Fill the entire PNG image in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(rasterImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, rasterImage.Bounds);
// Create a BMP image based on the PNG image.
// The source pixels will be converted to 24-bpp format if required.
// The resolution will be set to 96 dpi.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(rasterImage, 24, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
// Save to a BMP file
bmpImage.Save(dir + "output.24bpp.96dpi.bmp");
}
}
Exceptions
تصویر راستر صفر است.
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(int، int)
شروع به استفاده از Aspose.Imaging.FileFormats.Bmp.BmpImage کلاس بدون تلاش با ایجاد یک مثال جدیدبا پارامترهای عرض و ارتفاع مشخص شده ایده آل برای توسعه دهندگان به دنبالیک راه مناسب برای تولید اشیاء BmpImage از ابعاد سفارشی، تضمینانعطاف پذیری و انعطاف پذیری در پروژه های خود
public BmpImage(int width, int height)
Parameters
width
int
تصویر گسترده است.
height
int
ارتفاع تصویر است.
Examples
نمونه نشان می دهد که چگونه یک BmpImage از اندازه مشخص شده ایجاد کنید.
string dir = "c:\\temp\\";
// Create a 32-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// Fill the entire image in red.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
Aspose.Imaging.Brushes.SolidBrush brush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(brush, bmpImage.Bounds);
// Save to a BMP file
bmpImage.Save(dir + "output.bmp");
}
مثال زیر نشان می دهد که چگونه یک تصویر BMP را برای کاهش اندازه خروجی آن پالت کنید.
// Create a BMP image 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100))
{
// The linear gradient from the left-top to the right-bottom corner of the image.
Aspose.Imaging.Brushes.LinearGradientBrush brush =
new Aspose.Imaging.Brushes.LinearGradientBrush(
new Aspose.Imaging.Point(0, 0),
new Aspose.Imaging.Point(bmpImage.Width, bmpImage.Height),
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green);
// Fill the entire image with the linear gradient brush.
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
gr.FillRectangle(brush, bmpImage.Bounds);
// Get the closest 8-bit color palette which covers as many pixels as possible, so that a palettized image
// is almost visually indistinguishable from a non-palletized one.
Aspose.Imaging.IColorPalette palette = Aspose.Imaging.ColorPaletteHelper.GetCloseImagePalette(bmpImage, 256);
// 8-bit palette contains at most 256 colors.
Aspose.Imaging.ImageOptions.BmpOptions saveOptions = new Aspose.Imaging.ImageOptions.BmpOptions();
saveOptions.Palette = palette;
saveOptions.BitsPerPixel = 8;
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream, saveOptions);
System.Console.WriteLine("The palettized image size is {0} bytes.", stream.Length);
}
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("The non-palettized image size is {0} bytes.", stream.Length);
}
}
// The output looks like this:
// The palettized image size is 11078 bytes.
// The non-palettized image size is 40054 bytes.
Exceptions
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(int، int، ushort، IColorPalette)
شروع به استفاده از کلاس Aspose.Imaging.FileFormats.Bmp.BmpImage بدون هیچ مشکلی با شروع یک مثال جدیدبا پارامترها مانند عرض، ارتفاع، عمق و پالت.توسعه دهندگان به دنبال یک راه ساده برای ایجاد اشیاء BmpImage بااندازه های سفارشی و تنظیمات رنگی، تضمین انعطاف پذیری و بهره وری در پروژه های خود.
public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette)
Parameters
width
int
تصویر گسترده است.
height
int
ارتفاع تصویر است.
bitsPerPixel
ushort
بیت ها در هر پیکسل
palette
IColorPalette
پالت رنگی
Examples
نمونه نشان می دهد که چگونه برای ایجاد یک BmpImage از اندازه مشخص شده با پالت مشخص شده.
string dir = "c:\\temp\\";
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
// Create a monochrome 1-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 1, palette))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the upper half of the image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, new Aspose.Imaging.Rectangle(0, 0, bmpImage.Width, bmpImage.Height / 2));
// Fill the lower half of the image in green.
Aspose.Imaging.Brushes.SolidBrush greenBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Green);
gr.FillRectangle(greenBrush, new Aspose.Imaging.Rectangle(0, bmpImage.Height / 2, bmpImage.Width, bmpImage.Height / 2));
// Save to BMP
bmpImage.Save(dir + "output.monochrome.bmp");
}
Exceptions
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
BmpImage(int، int، ushort، IColorPalette، BitmapCompression، دوگانه، دوگانه)
بدون تلاش یک مثال جدید از کلاس Aspose.Imaging.FileFormats.Bmp.BmpImage با این سازنده ایجاد کنید،مشخص کردن پارامترها مانند عرض، ارتفاع، بیتیPerPixel، و پالت.به دنبال یک راه مناسب برای تولید اشیاء BmpImage با ابعاد سفارشیو تنظیمات رنگی، تضمین انعطاف پذیری و آسان برای ادغام در پروژه های خود.
public BmpImage(int width, int height, ushort bitsPerPixel, IColorPalette palette, BitmapCompression compression, double horizontalResolution, double verticalResolution)
Parameters
width
int
تصویر گسترده است.
height
int
ارتفاع تصویر است.
bitsPerPixel
ushort
بیت ها در هر پیکسل
palette
IColorPalette
پالت رنگی
compression
BitmapCompression
فشرده سازی برای استفاده
horizontalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
verticalResolution
double
توجه داشته باشید که به دلیل چرخش، رزولوشن حاصل از آن ممکن است کمی از رزولوشن گذشته متفاوت باشد.
Examples
نمونه نشان می دهد که چگونه یک BmpImage با استفاده از گزینه های مختلف ایجاد کنید.
string dir = "c:\\temp\\";
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
// Create a monochrome 1-bpp BMP image of 100 x 100 px.
// The horizontal and vertical resolution will be set to 96 dpi.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 1, palette, Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb, 96.0, 96.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the upper half of the image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, new Aspose.Imaging.Rectangle(0, 0, bmpImage.Width, bmpImage.Height / 2));
// Fill the lower half of the image in green.
Aspose.Imaging.Brushes.SolidBrush greenBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Green);
gr.FillRectangle(greenBrush, new Aspose.Imaging.Rectangle(0, bmpImage.Height / 2, bmpImage.Width, bmpImage.Height / 2));
// Save to a BMP file
bmpImage.Save(dir + "output.monochrome.96dpi.bmp");
}
Exceptions
ارتفاع باید مثبت باشد.
پالت باید برای تصاویر با 8 بیتی در هر پیکسل یا کمتر مشخص شود.
Properties
BitmapInfoHeader
دسترسی سریع به جزئیات ضروری در مورد تصویر بیت مپ خود را با این عملکرد ساده.مناسب برای توسعه دهندگان نیاز به دریافت اطلاعات عنوان برای تصاویر خود را.
public BitmapInfoHeader BitmapInfoHeader { get; }
ارزش املاک
Examples
مثال زیر اطلاعات را از سر BMP دریافت می کند و آن را به کنسول چاپ می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
Aspose.Imaging.FileFormats.Bmp.BitmapInfoHeader header = bmpImage.BitmapInfoHeader;
System.Console.WriteLine("The number of palette colors that are required for displaying the bitmap: {0}", header.BitmapColorsImportant);
System.Console.WriteLine("The number of palette colors used in the bitmap: {0}", header.BitmapColorsUsed);
System.Console.WriteLine("The bitmap compression: {0}", header.BitmapCompression);
System.Console.WriteLine("The bitmap height: {0}", header.BitmapHeight);
System.Console.WriteLine("The bitmap width: {0}", header.BitmapWidth);
System.Console.WriteLine("The bitmap raw data size in bytes: {0}", header.BitmapImageSize);
System.Console.WriteLine("The number of planes: {0}", header.BitmapPlanes);
System.Console.WriteLine("The horizontal resolution of the bitmap, in pixels-per-meter: {0}", header.BitmapXPelsPerMeter);
System.Console.WriteLine("The vertical resolution of the bitmap, in pixels-per-meter: {0}", header.BitmapYPelsPerMeter);
System.Console.WriteLine("The number of bits per pixel: {0}", header.BitsPerPixel);
System.Console.WriteLine("The extra bits masks: {0}", header.ExtraBitMasks);
System.Console.WriteLine("The header size in bytes: {0}", header.HeaderSize);
}
//The output may look like this:
//The number of palette colors that are required for displaying the bitmap: 0
//The number of palette colors used in the bitmap: 0
//The bitmap compression: 0
//The bitmap height: 375
//The bitmap width: 500
//The bitmap raw data size in bytes: 562500
//The number of planes: 1
//The horizontal resolution of the bitmap, in pixels-per-meter: 0
//The vertical resolution of the bitmap, in pixels-per-meter: 0
//The number of bits per pixel: 24
//The extra bits masks:
//The header size in bytes: 40
BitsPerPixel
دسترسی به تعداد بیت ها در هر پیکسل برای تصویر با استفاده از این ویژگی آسان است.مناسب برای توسعه دهندگان که به دنبال اطلاعات سریع در مورد کیفیت و عمق تصویر هستند.
public override int BitsPerPixel { get; }
ارزش املاک
Examples
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
مثال زیر نشان می دهد که چگونه فشرده سازی bitmap بر اندازه تصویر خروجی تاثیر می گذارد.
Aspose.Imaging.FileFormats.Bmp.BitmapCompression[] compressions = new Aspose.Imaging.FileFormats.Bmp.BitmapCompression[]
{
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb,
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rle8,
};
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
foreach (Aspose.Imaging.FileFormats.Bmp.BitmapCompression compression in compressions)
{
// Create a 8-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the entire image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, bmpImage.Bounds);
// Save the image to a stream to get the output image size.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("---------------------------------------------");
System.Console.WriteLine("The compression={0}", bmpImage.Compression);
System.Console.WriteLine("The number of bits per pixel={0}", bmpImage.BitsPerPixel);
System.Console.WriteLine("The image dimensions={0} x {1}", bmpImage.Width, bmpImage.Height);
System.Console.WriteLine("The raw line size={0}", bmpImage.RawLineSize);
System.Console.WriteLine("The output size in bytes={0}", stream.Length);
}
}
}
// The output looks like this:
// ---------------------------------------------
// The compression = Rgb
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 11078
// ---------------------------------------------
// The compression = Rle8
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 856
Compression
نوع فشرده سازی مورد استفاده برای تصویر را بدون تلاش با این ویژگی بازگردانید.مناسب برای توسعه دهندگان نیاز به دسترسی سریع به اطلاعات در مورد فشرده سازی تصویر.
public BitmapCompression Compression { get; }
ارزش املاک
Examples
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
مثال زیر نشان می دهد که چگونه فشرده سازی bitmap بر اندازه تصویر خروجی تاثیر می گذارد.
Aspose.Imaging.FileFormats.Bmp.BitmapCompression[] compressions = new Aspose.Imaging.FileFormats.Bmp.BitmapCompression[]
{
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb,
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rle8,
};
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
foreach (Aspose.Imaging.FileFormats.Bmp.BitmapCompression compression in compressions)
{
// Create a 8-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the entire image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, bmpImage.Bounds);
// Save the image to a stream to get the output image size.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("---------------------------------------------");
System.Console.WriteLine("The compression={0}", bmpImage.Compression);
System.Console.WriteLine("The number of bits per pixel={0}", bmpImage.BitsPerPixel);
System.Console.WriteLine("The image dimensions={0} x {1}", bmpImage.Width, bmpImage.Height);
System.Console.WriteLine("The raw line size={0}", bmpImage.RawLineSize);
System.Console.WriteLine("The output size in bytes={0}", stream.Length);
}
}
}
// The output looks like this:
// ---------------------------------------------
// The compression = Rgb
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 11078
// ---------------------------------------------
// The compression = Rle8
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 856
FileFormat
به راحتی ارزش فرمت فایل را با این ویژگی کاربر پسند به دست آورید.ایده آل برای توسعه دهندگان به دنبال دسترسی سریع به اطلاعات در مورد فرمت فایل.
public override FileFormat FileFormat { get; }
ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه اطلاعات مربوط به فرمت داده های خام و کانال آلفا را از یک تصویر BMP استخراج کنیم.
// Create a 32-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 32, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Create a 24-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 24, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Generally, BMP doesn't support alpha channel so the output will look like this:
// FileFormat = Bmp, RawDataFormat = Rgb32Bpp, used channels: 8,8,8,8, HasAlpha = False
// FileFormat = Bmp, RawDataFormat = Rgb24Bpp, used channels: 8,8,8, HasAlpha = False
HasAlpha
یک مقدار دریافت می کند که نشان می دهد آیا این مثال دارای آلفا است یا خیر.
public override bool HasAlpha { get; }
ارزش املاک
Height
بازگرداندن ارتفاع تصویر بدون تلاش با این ویژگی ایده آل برای توسعه دهندگاننیاز به دسترسی سریع به اطلاعات در مورد ابعاد تصویر.
public override int Height { get; }
ارزش املاک
Examples
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
مثال زیر نشان می دهد که چگونه فشرده سازی bitmap بر اندازه تصویر خروجی تاثیر می گذارد.
Aspose.Imaging.FileFormats.Bmp.BitmapCompression[] compressions = new Aspose.Imaging.FileFormats.Bmp.BitmapCompression[]
{
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb,
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rle8,
};
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
foreach (Aspose.Imaging.FileFormats.Bmp.BitmapCompression compression in compressions)
{
// Create a 8-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the entire image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, bmpImage.Bounds);
// Save the image to a stream to get the output image size.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("---------------------------------------------");
System.Console.WriteLine("The compression={0}", bmpImage.Compression);
System.Console.WriteLine("The number of bits per pixel={0}", bmpImage.BitsPerPixel);
System.Console.WriteLine("The image dimensions={0} x {1}", bmpImage.Width, bmpImage.Height);
System.Console.WriteLine("The raw line size={0}", bmpImage.RawLineSize);
System.Console.WriteLine("The output size in bytes={0}", stream.Length);
}
}
}
// The output looks like this:
// ---------------------------------------------
// The compression = Rgb
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 11078
// ---------------------------------------------
// The compression = Rle8
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 856
HorizontalResolution
این ویژگی به شما اجازه می دهد تا به راحتی به دست آوردن یا تنظیم رزولوشن افقی،اندازه گیری شده در پیکسل ها در اینچ، از Aspose.Imaging.RasterImage اشیاء.توسعه دهندگان نیاز به کنترل دقیق بر رزولوشن تصویر برای برنامه های خود دارند.
public override double HorizontalResolution { get; set; }
ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه برای تنظیم رزولوشن افقی / عمودی از یک تصویر BMP.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = bmpImage.HorizontalResolution;
double verticalResolution = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 0
// The vertical resolution, in pixels per inch: 0
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96.012
// The vertical resolution, in pixels per inch: 96.012
}
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
Remarks
به طور پیش فرض این مقدار همیشه 96 است زیرا پلتفرم های مختلف نمی توانند رزولوشن صفحه نمایش را بازگردانند.شما می توانید از روش SetResolution برای به روز رسانی هر دو ارزش رزولوشن در یک تماس در نظر بگیرید.
RawDataFormat
به راحتی فرمت داده های خام خود را با این ویژگی دوستانه کاربر به دست آورید.مناسب برای توسعه دهندگان که به دنبال دسترسی سریع به اطلاعات کلیدی در مورد فرمت داده های خود هستند.
public override PixelDataFormat RawDataFormat { get; }
ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه اطلاعات مربوط به فرمت داده های خام و کانال آلفا را از یک تصویر BMP استخراج کنیم.
// Create a 32-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 32, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Create a 24-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 24, null))
{
System.Console.WriteLine("FileFormat={0}, RawDataFormat={1}, HasAlpha={2}", bmpImage.FileFormat, bmpImage.RawDataFormat, bmpImage.HasAlpha);
};
// Generally, BMP doesn't support alpha channel so the output will look like this:
// FileFormat = Bmp, RawDataFormat = Rgb32Bpp, used channels: 8,8,8,8, HasAlpha = False
// FileFormat = Bmp, RawDataFormat = Rgb24Bpp, used channels: 8,8,8, HasAlpha = False
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
RawLineSize
دسترسی سریع به اندازه هر خط خام در بایت با این ویژگی ساده.ایده آل برای توسعه دهندگان که نیاز به پردازش موثر داده های تصویر خام دارند.
public override int RawLineSize { get; }
ارزش املاک
Examples
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
مثال زیر نشان می دهد که چگونه فشرده سازی bitmap بر اندازه تصویر خروجی تاثیر می گذارد.
Aspose.Imaging.FileFormats.Bmp.BitmapCompression[] compressions = new Aspose.Imaging.FileFormats.Bmp.BitmapCompression[]
{
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb,
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rle8,
};
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
foreach (Aspose.Imaging.FileFormats.Bmp.BitmapCompression compression in compressions)
{
// Create a 8-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the entire image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, bmpImage.Bounds);
// Save the image to a stream to get the output image size.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("---------------------------------------------");
System.Console.WriteLine("The compression={0}", bmpImage.Compression);
System.Console.WriteLine("The number of bits per pixel={0}", bmpImage.BitsPerPixel);
System.Console.WriteLine("The image dimensions={0} x {1}", bmpImage.Width, bmpImage.Height);
System.Console.WriteLine("The raw line size={0}", bmpImage.RawLineSize);
System.Console.WriteLine("The output size in bytes={0}", stream.Length);
}
}
}
// The output looks like this:
// ---------------------------------------------
// The compression = Rgb
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 11078
// ---------------------------------------------
// The compression = Rle8
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 856
VerticalResolution
به راحتی به دست آوردن یا تنظیم رزولوشن عمودی، اندازه گیری شده در پیکسل در اینچ،از این Aspose.Imaging.RasterImage اشیاء با این ویژگی.کنترل دقیق رزولوشن تصویر در برنامه های کاربردی
public override double VerticalResolution { get; set; }
ارزش املاک
Examples
مثال زیر نشان می دهد که چگونه برای تنظیم رزولوشن افقی / عمودی از یک تصویر BMP.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = bmpImage.HorizontalResolution;
double verticalResolution = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 0
// The vertical resolution, in pixels per inch: 0
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96.012
// The vertical resolution, in pixels per inch: 96.012
}
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
Remarks
به طور پیش فرض این مقدار همیشه 96 است زیرا پلتفرم های مختلف نمی توانند رزولوشن صفحه نمایش را بازگردانند.شما می توانید از روش SetResolution برای به روز رسانی هر دو ارزش رزولوشن در یک تماس در نظر بگیرید.
Width
دسترسی به عرض تصویر به راحتی با این ویژگی. ایده آل برای توسعه دهندگانجستجو برای اطلاعات سریع در مورد ابعاد تصویر.
public override int Width { get; }
ارزش املاک
Examples
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
مثال زیر نشان می دهد که چگونه فشرده سازی bitmap بر اندازه تصویر خروجی تاثیر می گذارد.
Aspose.Imaging.FileFormats.Bmp.BitmapCompression[] compressions = new Aspose.Imaging.FileFormats.Bmp.BitmapCompression[]
{
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rgb,
Aspose.Imaging.FileFormats.Bmp.BitmapCompression.Rle8,
};
Aspose.Imaging.Color[] paletterColors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.Red,
Aspose.Imaging.Color.Green,
};
// Create a monochrome palette which contains only red and green colors.
Aspose.Imaging.IColorPalette palette = new Aspose.Imaging.ColorPalette(paletterColors);
foreach (Aspose.Imaging.FileFormats.Bmp.BitmapCompression compression in compressions)
{
// Create a 8-bpp BMP image of 100 x 100 px.
using (Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = new Aspose.Imaging.FileFormats.Bmp.BmpImage(100, 100, 8, palette, compression, 0.0, 0.0))
{
Aspose.Imaging.Graphics gr = new Aspose.Imaging.Graphics(bmpImage);
// Fill the entire image in red.
Aspose.Imaging.Brushes.SolidBrush redBrush = new Aspose.Imaging.Brushes.SolidBrush(Aspose.Imaging.Color.Red);
gr.FillRectangle(redBrush, bmpImage.Bounds);
// Save the image to a stream to get the output image size.
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
bmpImage.Save(stream);
System.Console.WriteLine("---------------------------------------------");
System.Console.WriteLine("The compression={0}", bmpImage.Compression);
System.Console.WriteLine("The number of bits per pixel={0}", bmpImage.BitsPerPixel);
System.Console.WriteLine("The image dimensions={0} x {1}", bmpImage.Width, bmpImage.Height);
System.Console.WriteLine("The raw line size={0}", bmpImage.RawLineSize);
System.Console.WriteLine("The output size in bytes={0}", stream.Length);
}
}
}
// The output looks like this:
// ---------------------------------------------
// The compression = Rgb
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 11078
// ---------------------------------------------
// The compression = Rle8
// The number of bits per pixel = 8
// The image dimensions = 100 x 100
// The raw line size = 100
// The output size in bytes = 856
Methods
GetDefaultOptions(موضوع[])
گزینه های پیش فرض را بدون تلاش با این روش ساده بازگردانید.ایده آل برای توسعه دهندگان که به دنبال دسترسی سریع به تنظیمات تصویر یا تنظیمات پیش فرض هستند.
public override ImageOptionsBase GetDefaultOptions(object[] args)
Parameters
args
object
[ ]
این استدلال ها
Returns
گزینه های پیش فرض
OnCached()
هنگامی که داده ها رمزگذاری می شوند و تمام منابع مرتبط ممکن است تخلیه شوند.
protected override void OnCached()
OnPaletteChanging(بایگانی برچسب ها: IColorPalette)
هنگامی که پالت تغییر می کند.
protected override void OnPaletteChanging(IColorPalette oldPalette, IColorPalette newPalette)
Parameters
oldPalette
IColorPalette
پالت قدیمی
newPalette
IColorPalette
پالت جدید است.
SaveData(Stream)
داده ها را ذخیره کنید.
protected override void SaveData(Stream stream)
Parameters
stream
Stream
جریان برای ذخیره اطلاعات به.
SetResolution(دوگانه، دوگانه)
تنظیم رزولوشن Aspose.Imaging.RasterImage خود را بدون تلاش با اینروش مناسب برای توسعه دهندگان که به دنبال کنترل دقیقرزولوشن تصویر در برنامه های خود
public override void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
رزولوشن افقی، در نقطه در اینچ، از Aspose.Imaging.RasterImage.
dpiY
double
رزولوشن عمودی، در نقطه در اینچ، از Aspose.Imaging.RasterImage.
Examples
مثال زیر نشان می دهد که چگونه برای تنظیم رزولوشن افقی / عمودی از یک تصویر BMP.
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
// Get horizontal and vertical resolution of the BmpImage
double horizontalResolution = bmpImage.HorizontalResolution;
double verticalResolution = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", horizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", verticalResolution);
if (horizontalResolution != 96.0 || verticalResolution != 96.0)
{
// Use the SetResolution method for updating both resolution values in a single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 0
// The vertical resolution, in pixels per inch: 0
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96.012
// The vertical resolution, in pixels per inch: 96.012
}
مثال زیر اطلاعات کلی در مورد تصویر از جمله پیکسل، اندازه تصویر، رزولوشن، فشرده سازی و غیره را دریافت می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Console.WriteLine("The pixel format: {0}", bmpImage.RawDataFormat);
System.Console.WriteLine("The raw line size in bytes: {0}", bmpImage.RawLineSize);
System.Console.WriteLine("The bitmap compression: {0}", bmpImage.Compression);
System.Console.WriteLine("The bitmap width: {0}", bmpImage.Width);
System.Console.WriteLine("The bitmap height: {0}", bmpImage.Height);
System.Console.WriteLine("The number of bits per pixel: {0}", bmpImage.BitsPerPixel);
double hres = bmpImage.HorizontalResolution;
double vres = bmpImage.VerticalResolution;
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", hres);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", vres);
if (hres != 96.0 || vres != 96.0)
{
// You may consider using the SetResolution method for updating both resolution values in single call.
System.Console.WriteLine("Set resolution values to 96 dpi");
bmpImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", bmpImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", bmpImage.VerticalResolution);
}
//The output may look like this:
//The pixel format: Rgb24Bpp, used channels: 8,8,8
//The raw line size in bytes: 1500
//The bitmap compression: Rgb
//The bitmap width: 500
//The bitmap height: 375
//The number of bits per pixel: 24
//The horizontal resolution, in pixels per inch: 0
//The vertical resolution, in pixels per inch: 0
//Set resolution values to 96 dpi
//The horizontal resolution, in pixels per inch: 96.012
//The vertical resolution, in pixels per inch: 96.012
}
ToBitmap()
به راحتی تصویر راستر خود را به یک bitmap با استفاده از این روش ساده تبدیل کنید.مناسب برای توسعه دهندگان نیاز به انتقال بی وقفه بین فرمت های مختلف تصویر.
public override Bitmap ToBitmap()
Returns
بیت مپ
Examples
مثال زیر یک تصویر BMP را به یک بیت مپ GDI تبدیل می کند.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.bmp"))
{
Aspose.Imaging.FileFormats.Bmp.BmpImage bmpImage = (Aspose.Imaging.FileFormats.Bmp.BmpImage)image;
System.Drawing.Bitmap bitmap = bmpImage.ToBitmap();
// Process the GDI bitmap.
}
UpdateDimensions(int، int)
ابعاد تصویر را به روز کنید
protected override void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
عرض تصویر جدید
newHeight
int
ارتفاع تصویر جدید