Class RasterImage
名称: Aspose.Imaging アセンション: Aspose.Imaging.dll (25.4.0)
ラスターグラフィック操作をサポートするラスターイメージを表します。
public abstract class RasterImage : Image, IDisposable, IObjectWithBounds, IRasterImageArgb32PixelLoader, IRasterImageRawDataLoader, IHasXmpData, IHasMetadata
Inheritance
object ← DisposableObject ← DataStreamSupporter ← Image ← RasterImage
Derived
Implements
IDisposable , IObjectWithBounds , IRasterImageArgb32PixelLoader , IRasterImageRawDataLoader , IHasXmpData , IHasMetadata
相続人
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.UpdateContainer(Image) , Image.GetCanNotSaveMessage(ImageOptionsBase) , Image.GetFitRectangle(Rectangle) , Image.GetImage2Export(ImageOptionsBase, Rectangle, IImageExporter) , Image.GetFitRectangle(Rectangle, int[]) , Image.OnPaletteChanged(IColorPalette, IColorPalette) , Image.OnPaletteChanging(IColorPalette, IColorPalette) , Image.ReleaseManagedResources() , 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.timeout , DataStreamSupporter.CacheData() , DataStreamSupporter.Save() , DataStreamSupporter.Save(Stream) , DataStreamSupporter.Save(string) , DataStreamSupporter.Save(string, bool) , DataStreamSupporter.SaveData(Stream) , DataStreamSupporter.ReleaseManagedResources() , DataStreamSupporter.OnDataStreamContainerChanging(StreamContainer) , DataStreamSupporter.DataStreamContainer , DataStreamSupporter.IsCached , DisposableObject.Dispose() , DisposableObject.ReleaseManagedResources() , DisposableObject.ReleaseUnmanagedResources() , DisposableObject.VerifyNotDisposed() , DisposableObject.Disposed , object.GetType() , object.MemberwiseClone() , object.ToString() , object.Equals(object?) , object.Equals(object?, object?) , object.ReferenceEquals(object?, object?) , object.GetHashCode()
Examples
この例では、ピクセル情報をタイプ色の範囲内でロードする方法を示し、範囲を操作し、画像に戻します。これらの操作を実行するには、この例では、新しい画像ファイル(GIF形式)を作成します。
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
Constructors
RasterImage()
Aspose.Imaging.RasterImage クラスの新しい例を開始します。
[JsonConstructor]
protected RasterImage()
RasterImage(アイコンパレット)
Aspose.Imaging.RasterImage クラスの新しい例を開始します。
protected RasterImage(IColorPalette colorPalette)
Parameters
colorPalette
IColorPalette
色パレットです。
Fields
xmpデータ
XMPメタデータ
[JsonProperty]
protected XmpPacketWrapper xmpData
フィールド価値
Properties
DataLoader
データ充電器を取得または設定します。
[JsonProperty]
protected IRasterImageArgb32PixelLoader DataLoader { get; set; }
不動産価値
HasAlpha
このインスタンスがアルファを持っているかどうかを示す値を得る。
public virtual bool HasAlpha { get; }
不動産価値
Examples
下記の例では、ラスター画像をアップロードし、原料データ形式およびアルファチャンネルに関する情報を印刷します。
// The image files to load.
string[] fileNames = new string[]
{
@"c:\temp\sample.bmp",
@"c:\temp\alpha.png",
};
foreach (string fileName in fileNames)
{
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, rasterImage.RawDataFormat, rasterImage.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.bmp, FileFormat=Rgb24Bpp, used channels: 8,8,8, HasAlpha=False
// ImageFile=c:\temp\alpha.png, FileFormat=RGBA32Bpp, used channels: 8,8,8,8, HasAlpha=True
下記の例では、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
HasTransparentColor
画像が透明な色があるかどうかを示す値を得る。
public virtual bool HasTransparentColor { get; set; }
不動産価値
HorizontalResolution
この Aspose.Imaging.RasterImage のピクセル/インチの水平解像度を取得または設定します。
public virtual double HorizontalResolution { get; set; }
不動産価値
Examples
下記の例では、ラスター画像の水平/垂直解像度を設定する方法を示しています。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.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");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
デフォルトでこの値は、異なるプラットフォームがスクリーン解像度を返すことができないため、常に96です。
ImageOpacity
このイメージの不透明性を得る。
public virtual float ImageOpacity { get; }
不動産価値
IsRawDataAvailable
原料データの充電が利用可能であるかどうかを示す値を得る。
public bool IsRawDataAvailable { get; }
不動産価値
PremultiplyComponents
画像コンポーネントがプレミュレーションされるかどうかを示す値を取得または設定します。
public virtual bool PremultiplyComponents { get; set; }
不動産価値
Examples
次の例は、新しいラスター画像を作成し、指定された半透明ピクセルを保存し、その後、これらのピクセルを充電し、最終色をプレミュレート形式で取得します。
int imageWidth = 3;
int imageHeight = 2;
Aspose.Imaging.Color[] colors = new Aspose.Imaging.Color[]
{
Aspose.Imaging.Color.FromArgb(127, 255, 0, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 0, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 255, 255, 0),
Aspose.Imaging.Color.FromArgb(127, 255, 0, 255),
Aspose.Imaging.Color.FromArgb(127, 0, 255, 255),
};
Aspose.Imaging.ImageOptions.PngOptions createOptions = new Aspose.Imaging.ImageOptions.PngOptions();
createOptions.Source = new Aspose.Imaging.Sources.StreamSource(new System.IO.MemoryStream(), true);
createOptions.ColorType = Aspose.Imaging.FileFormats.Png.PngColorType.TruecolorWithAlpha;
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Create(createOptions, imageWidth, imageHeight))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Save pixels for the whole image.
rasterImage.SavePixels(rasterImage.Bounds, colors);
// The pixels are stored in the original image in the non-premultiplied form.
// Need to specify the corresponding option explicitly to obtain premultiplied color components.
// The premultiplied color components are calculated by the formulas:
// red = original_red * alpha / 255;
// green = original_green * alpha / 255;
// blue = original_blue * alpha / 255;
rasterImage.PremultiplyComponents = true;
Aspose.Imaging.Color[] premultipliedColors = rasterImage.LoadPixels(rasterImage.Bounds);
for (int i = 0; i < colors.Length; i++)
{
System.Console.WriteLine("Original color: {0}", colors[i].ToString());
System.Console.WriteLine("Premultiplied color: {0}", premultipliedColors[i].ToString());
}
}
RawCustomColorConverter
カスタマイズされた色変換器を取得または設定する
public IColorConverter RawCustomColorConverter { get; set; }
不動産価値
RawDataFormat
原料データ形式を取得します。
public virtual PixelDataFormat RawDataFormat { get; }
不動産価値
Examples
下記の例では、ラスター画像をアップロードし、原料データ形式およびアルファチャンネルに関する情報を印刷します。
// The image files to load.
string[] fileNames = new string[]
{
@"c:\temp\sample.bmp",
@"c:\temp\alpha.png",
};
foreach (string fileName in fileNames)
{
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(fileName))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
System.Console.WriteLine("ImageFile={0}, FileFormat={1}, HasAlpha={2}", fileName, rasterImage.RawDataFormat, rasterImage.HasAlpha);
}
}
// The output may look like this:
// ImageFile=c:\temp\sample.bmp, FileFormat=Rgb24Bpp, used channels: 8,8,8, HasAlpha=False
// ImageFile=c:\temp\alpha.png, FileFormat=RGBA32Bpp, used channels: 8,8,8,8, HasAlpha=True
この例では、ファイルストリームからDJVU画像をアップロードし、ページに関する情報を印刷する方法を示しています。
string dir = "c:\\temp\\";
// Load a DJVU image from a file stream.
using (System.IO.Stream stream = System.IO.File.OpenRead(dir + "sample.djvu"))
{
using (Aspose.Imaging.FileFormats.Djvu.DjvuImage djvuImage = new Aspose.Imaging.FileFormats.Djvu.DjvuImage(stream))
{
System.Console.WriteLine("The total number of pages: {0}", djvuImage.Pages.Length);
System.Console.WriteLine("The active page number: {0}", djvuImage.ActivePage.PageNumber);
System.Console.WriteLine("The first page number: {0}", djvuImage.FirstPage.PageNumber);
System.Console.WriteLine("The last page number: {0}", djvuImage.LastPage.PageNumber);
foreach (Aspose.Imaging.FileFormats.Djvu.DjvuPage djvuPage in djvuImage.Pages)
{
System.Console.WriteLine("--------------------------------------------------");
System.Console.WriteLine("Page number: {0}", djvuPage.PageNumber);
System.Console.WriteLine("Page size: {0}", djvuPage.Size);
System.Console.WriteLine("Page raw format: {0}", djvuPage.RawDataFormat);
}
}
}
//The output may look like this:
//The total number of pages: 2
//The active page number: 1
//The first page number: 1
//The last page number: 2
//--------------------------------------------------
//Page number: 1
//Page size: { Width = 2481, Height = 3508}
//Page raw format: RgbIndexed1Bpp, used channels: 1
//--------------------------------------------------
//Page number: 2
//Page size: { Width = 2481, Height = 3508}
//Page raw format: RgbIndexed1Bpp, used channels: 1
RawDataSettings
これらの設定を使用すると、データは変換なしでロードされます。
[JsonIgnore]
public RawDataSettings RawDataSettings { get; }
不動産価値
RawFallbackIndex
パレットインデックスが制限外である場合に使用するダウンバックインデックスを取得または設定します。
public int RawFallbackIndex { get; set; }
不動産価値
RawIndexedColorConverter
インデックスされた色変換器を取得または設定する
public IIndexedColorConverter RawIndexedColorConverter { get; set; }
不動産価値
RawLineSize
原始線のサイズをバイトで得る。
public virtual int RawLineSize { get; }
不動産価値
TransparentColor
画像が透明な色になります。
public virtual Color TransparentColor { get; set; }
不動産価値
UpdateXmpData
XMP メタデータを更新するかどうかを示す値を取得または設定します。
public virtual bool UpdateXmpData { get; set; }
不動産価値
UsePalette
画像パレットが使用されているかどうかを示す値を得る。
public override bool UsePalette { get; }
不動産価値
UseRawData
原材料データの充電が利用可能なときに原材料データの充電を使用するかどうかを示す値を取得または設定します。
public virtual bool UseRawData { get; set; }
不動産価値
VerticalResolution
この Aspose.Imaging.RasterImage の垂直解像度をピクセル/インチで取得または設定します。
public virtual double VerticalResolution { get; set; }
不動産価値
Examples
下記の例では、ラスター画像の水平/垂直解像度を設定する方法を示しています。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.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");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
Remarks
デフォルトでこの値は、異なるプラットフォームがスクリーン解像度を返すことができないため、常に96です。
XmpData
XMPメタデータを取得または設定します。
public virtual XmpPacketWrapper XmpData { get; set; }
不動産価値
Methods
AdjustBrightness(インタ)
画像の明るさを調整する。
public virtual void AdjustBrightness(int brightness)
Parameters
brightness
int
明るさの価値
Examples
下記の例では、画像の明るさ修正を実行します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set the brightness value. The accepted values of brightness are in the range [-255, 255].
rasterImage.AdjustBrightness(50);
rasterImage.Save(dir + "sample.AdjustBrightness.png");
}
AdjustContrast(フラット)
イメージ対比
public virtual void AdjustContrast(float contrast)
Parameters
contrast
float
対照値(範囲内(100、100)
Examples
次の例では、画像の対照修正を実行します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set the contrast value. The accepted values of contrast are in the range [-100f, 100f].
rasterImage.AdjustContrast(50);
rasterImage.Save(dir + "sample.AdjustContrast.png");
}
AdjustGamma(フラット、フラット、フラット)
画像のガム修正
public virtual void AdjustGamma(float gammaRed, float gammaGreen, float gammaBlue)
Parameters
gammaRed
float
レッドチャンネルのGamma Coefficient
gammaGreen
float
グリーンチャンネルのGamma Coefficient
gammaBlue
float
ブルーチャンネルのGamma Coefficient
Examples
下記の例では、色のコンポーネントに異なるコーヒーを適用する画像のガマ修正を実行します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set individual gamma coefficients for red, green and blue channels.
rasterImage.AdjustGamma(1.5f, 2.5f, 3.5f);
rasterImage.Save(dir + "sample.AdjustGamma.png");
}
AdjustGamma(フラット)
画像のガム修正
public virtual void AdjustGamma(float gamma)
Parameters
gamma
float
レッド・グリーン・ブルー・チャンネルのGAMMA
Examples
次の例では、画像のガマ修正を実行します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Set gamma coefficient for red, green and blue channels.
rasterImage.AdjustGamma(2.5f);
rasterImage.Save(dir + "sample.AdjustGamma.png");
}
BinarizeBradley(ダブル)
ブラッドリーの適応性限界アルゴリズムを使用してイメージのバイナリ化
public virtual void BinarizeBradley(double brightnessDifference)
Parameters
brightnessDifference
double
ピクセルとこのピクセルの周りに焦点を当てたピクセルのS x sウィンドウの平均の明るさの違い。
BinarizeBradley(二重、 int)
ブラッドリーの適応性限界アルゴリズムを使用してイメージのバイナリ化
public virtual void BinarizeBradley(double brightnessDifference, int windowSize)
Parameters
brightnessDifference
double
ピクセルとこのピクセルの周りに焦点を当てたピクセルのS x sウィンドウの平均の明るさの違い。
windowSize
int
このピクセルの周りに焦点を当てたピクセルのサイズの s x s ウィンドウ
Examples
次の例では、ブラッドリーの適応範囲アルゴリズムと指定されたウィンドウサイズのラスター画像をバイナリ化します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with a brightness difference of 5. The brightness is a difference between a pixel and the average of an 10 x 10 window of pixels centered around this pixel.
rasterImage.BinarizeBradley(5, 10);
rasterImage.Save(dir + "sample.BinarizeBradley5_10x10.png");
}
BinarizeFixed(ビート)
既定の範囲を有する画像のバイナリ化
public virtual void BinarizeFixed(byte threshold)
Parameters
threshold
byte
ピクセルの関連するグレー値が限界を上回る場合、255の値が割り当てられます。
Examples
下記の例では、既定の範囲でラスター画像をバイナリ化します. バイナリ化された画像には、黒と白の2色のみが含まれています。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with a threshold value of 127.
// If a corresponding gray value of a pixel is greater than 127, a value of 255 will be assigned to it, 0 otherwise.
rasterImage.BinarizeFixed(127);
rasterImage.Save(dir + "sample.BinarizeFixed.png");
}
BinarizeOtsu()
画像のバイナリ化 Otsu 範囲
public virtual void BinarizeOtsu()
Examples
下記の例では、Otsuの範囲でラスター画像をバイナリ化します. バイナリ化された画像には、黒と白の2色のみが含まれています。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Binarize the image with Otsu thresholding.
rasterImage.BinarizeOtsu();
rasterImage.Save(dir + "sample.BinarizeOtsu.png");
}
Blend(ポイント、RasterImage、Rectangle、バイト)
この画像の例を overlay’ 画像と混ぜる。
public virtual void Blend(Point origin, RasterImage overlay, Rectangle overlayArea, byte overlayAlpha = 255)
Parameters
origin
Point
背景画像は混合起源です。
overlay
RasterImage
圧倒的なイメージ。
overlayArea
Rectangle
オーバーレイエリア
overlayAlpha
byte
過剰アルファ。
Blend(ポイント、ラスターイメージ、バイト)
この画像の例を overlay’ 画像と混ぜる。
public void Blend(Point origin, RasterImage overlay, byte overlayAlpha = 255)
Parameters
origin
Point
背景画像は混合起源です。
overlay
RasterImage
圧倒的なイメージ。
overlayAlpha
byte
過剰アルファ。
Dither(メソッド、 int)
現状のイメージを振り回す。
public void Dither(DitheringMethod ditheringMethod, int bitsCount)
Parameters
ditheringMethod
DitheringMethod
ダイエット方法です。
bitsCount
int
最後のビットはディタリングのために数える。
Examples
下記の例は、ラスター画像を積み重ね、異なるパレット深さを用いて範囲と流れのダイトリングを実行します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Perform threshold dithering using 4-bit color palette which contains 16 colors.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
rasterImage.Dither(Aspose.Imaging.DitheringMethod.ThresholdDithering, 4);
rasterImage.Save(dir + "sample.ThresholdDithering4.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Perform floyd dithering using 1-bit color palette which contains only 2 colors - black and white.
// The more bits specified the higher quality and the bigger size of the output image.
// Note that only 1-bit, 4-bit and 8-bit palettes are supported at the moment.
rasterImage.Dither(Aspose.Imaging.DitheringMethod.FloydSteinbergDithering, 1);
rasterImage.Save(dir + "sample.FloydSteinbergDithering1.png");
}
Dither(DitheringMethod, int, IColorパレット)
現状のイメージを振り回す。
public abstract void Dither(DitheringMethod ditheringMethod, int bitsCount, IColorPalette customPalette)
Parameters
ditheringMethod
DitheringMethod
ダイエット方法です。
bitsCount
int
最後のビットはディタリングのために数える。
customPalette
IColorPalette
ディタリングのためのカスタムパレット。
Filter(Rectangle、FilterOptionsベース)
指定された直角をフィルタリングします。
public virtual void Filter(Rectangle rectangle, FilterOptionsBase options)
Parameters
rectangle
Rectangle
直角です。
options
FilterOptionsBase
オプションです。
Examples
下記の例では、さまざまなタイプのフィルターがラスター画像に適用されます。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a median filter with a rectangle size of 5 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MedianFilterOptions(5));
rasterImage.Save(dir + "sample.MedianFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a bilateral smoothing filter with a kernel size of 5 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.BilateralSmoothingFilterOptions(5));
rasterImage.Save(dir + "sample.BilateralSmoothingFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a Gaussian blur filter with a radius of 5 and a sigma value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussianBlurFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.GaussianBlurFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a Gauss-Wiener filter with a radius of 5 and a smooth value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.GaussWienerFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.GaussWienerFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a motion wiener filter with a length of 5, a smooth value of 4.0 and an angle of 90.0 degrees to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.MotionWienerFilterOptions(10, 1.0, 90.0));
rasterImage.Save(dir + "sample.MotionWienerFilter.png");
}
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Apply a sharpen filter with a kernel size of 5 and a sigma value of 4.0 to the entire image.
rasterImage.Filter(rasterImage.Bounds, new Aspose.Imaging.ImageFilters.FilterOptions.SharpenFilterOptions(5, 4.0));
rasterImage.Save(dir + "sample.SharpenFilter.png");
}
GetArgb32Pixel(int、 int)
画像は32bit ARGB ピクセル。
public int GetArgb32Pixel(int x, int y)
Parameters
x
int
ピクセルXの位置
y
int
ピクセルと位置
Returns
32 ビット ARGB ピクセルは、指定された位置のためのものです。
Examples
次の例では、ラスター画像をアップロードし、32ビットの総値として表現される任意のピクセルの色を取得します。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get an integer representation of the color of the top-left pixel of the image.
int color = rasterImage.GetArgb32Pixel(0, 0);
// To obtain the values of the individual color components, shift the color value by a corresponding number of bits
int alpha = (color >> 24) & 0xff;
int red = (color >> 16) & 0xff;
int green = (color >> 8) & 0xff;
int blue = (color >> 0) & 0xff;
System.Console.WriteLine("The color of the pixel(0,0) is A={0},R={1},G={2},B={3}", alpha, red, green, blue);
}
下記の例では、画像キャッシングがパフォーマンスにどのように影響するかを示しています. 一般的には、キャッシングされたデータを読むことは、キャッシングされていないデータを読むよりも速くなります。
string dir = "c:\\temp\\";
// Load an image from a PNG file.
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
// Cache all pixel data so that no additional data loading will be performed from the underlying data stream
image.CacheData();
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Reading all pixels is pretty fast.
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all cached pixels took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// Load an image from a PNG file
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
System.Diagnostics.Stopwatch stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
// Reading all pixels is not as fast as when caching
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
for (int y = 0; y < image.Height; y++)
{
for (int x = 0; x < image.Width; x++)
{
int color = rasterImage.GetArgb32Pixel(x, y);
}
}
stopwatch.Stop();
System.Console.WriteLine("Reading all pixels without preliminary caching took {0} ms.", stopwatch.ElapsedMilliseconds);
}
// The output may look like this:
// Reading all cached pixels took 1500 ms.
// Reading all pixels without preliminary caching took 150000 ms.
GetDefaultArgb32Pixels(Rectangle)
デフォルト 32 ビット ARGB ピクセル レイヤーを取得します。
public int[] GetDefaultArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
ピクセルを取得するための正角。
Returns
int ( )
デフォルトピクセルはアレイ。
GetDefaultPixels(レクトアングル、IPartialArgb32PixelLoader)
デフォルトピクセルをパーティルピクセル充電器を使用してリリースします。
public void GetDefaultPixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
ピクセルを取得するための正角。
partialPixelLoader
IPartialArgb32PixelLoader
部分ピクセル充電器
GetDefaultRawData(Rectangle、IPartialRawDataLoader、RawDataSettings)
デフォルトの原材料データレイヤーは、パーティルピクセル充電器を使用して取得します。
public void GetDefaultRawData(Rectangle rectangle, IPartialRawDataLoader partialRawDataLoader, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
ピクセルを取得するための正角。
partialRawDataLoader
IPartialRawDataLoader
部分的な原材料データ充電器
rawDataSettings
RawDataSettings
原料データの設定
GetDefaultRawData(Rectangle、RawDataSettings)
デフォルトの原材料データを取得します。
public byte[] GetDefaultRawData(Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
rectangle
Rectangle
原料データを取得するための直角。
rawDataSettings
RawDataSettings
原料データの設定
Returns
byte ( )
デフォルトの原料データのリリース
GetModifyDate(ボール)
リソース画像が最後に変更された日付と時間が表示されます。
public virtual DateTime GetModifyDate(bool useDefault)
Parameters
useDefault
bool
「真実」に設定されている場合は、FileInfo の情報をデフォルト値として使用します。
Returns
リソース画像の日付と時間が最後に変更されました。
GetPixel(int、 int)
画像ピクセルを取得します。
public Color GetPixel(int x, int y)
Parameters
x
int
ピクセルXの位置
y
int
ピクセルと位置
Returns
ピクセル色は指定された位置に。
Examples
次の例は、ラスター画像をアップロードし、任意のピクセルの色を得る。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get the color of the top-left pixel of the image.
Color color = rasterImage.GetPixel(0, 0);
// Obtain the values of the individual color components
byte alpha = color.A;
byte red = color.R;
int green = color.G;
int blue = color.B;
System.Console.WriteLine("The color of the pixel(0,0) is A={0},R={1},G={2},B={3}", alpha, red, green, blue);
}
GetSkewAngle()
スケッチの角度をこの方法は、スキャンされたテキストドキュメントに適用され、スキャン時にスケッチの角度を決定します。
public float GetSkewAngle()
Returns
スカイの角度、グレード。
Grayscale()
画像をグレイスケールの表現に変換する
public virtual void Grayscale()
Examples
下記の例では、色のラスター画像をグレイスケールの表現に変換します。グレイスケール画像は、グレイの色のみで構成され、強度情報のみを持ちます。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
rasterImage.Grayscale();
rasterImage.Save(dir + "sample.Grayscale.png");
}
LoadArgb32Pixels(Rectangle)
32 ビット ARGB ピクセル
public int[] LoadArgb32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
直角からピクセルを充電する。
Returns
int ( )
32 ビット ARGB ピクセル リリース
Examples
下記の例では、ラスター画像のピクセルを充電および処理する方法を示しています. ピクセルは32ビット全体値として表示されます. 例えば、画像の完全に透明なピクセルを数える問題を考慮してください。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadArgb32Pixels method.
int[] pixels = rasterImage.LoadArgb32Pixels(rasterImage.Bounds);
int count = 0;
foreach (int pixel in pixels)
{
int alpha = (pixel >> 24) & 0xff;
if (alpha == 0)
{
count++;
}
}
System.Console.WriteLine("The number of fully transparent pixels is {0}", count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
LoadArgb64Pixels(Rectangle)
64 ビット ARGB ピクセル
public long[] LoadArgb64Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
直角からピクセルを充電する。
Returns
long ( )
64 ビット ARGB ピクセル リリース
Examples
下記の例では、ラスター画像のピクセルを充電および処理する方法を示しています. ピクセルは64ビットの総値として表示されます. 例えば、画像の完全に透明なピクセルを数える問題を考慮してください。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\16rgba.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadArgb64Pixels method.
// Note that the image itself must have 16 bits per sample, because Aspose.Imaging.RasterImage.LoadArgb64Pixels doesn't work with 8 bit per sample.
// In order to work with 8 bits per sample please use the good old Aspose.Imaging.RasterImage.LoadArgb32Pixels method.
long[] pixels = rasterImage.LoadArgb64Pixels(rasterImage.Bounds);
int count = 0;
foreach (int pixel in pixels)
{
// Note that all color components including alpha are represented by 16-bit values, so their allowed values are in the range [0, 63535].
int alpha = (pixel >> 48) & 0xffff;
if (alpha == 0)
{
count++;
}
}
System.Console.WriteLine("The number of fully transparent pixels is {0}", count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
LoadCmyk32Pixels(Rectangle)
ピクセルをCMYK形式で充電します。
public int[] LoadCmyk32Pixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
直角からピクセルを充電する。
Returns
int ( )
充電されたCMYK ピクセルは 32 ビット inateger 値として存在します。
LoadCmykPixels(Rectangle)
ピクセルをCMYK形式で充電します。Aspose.Imaging.RasterImage.LoadCmyk32ピクセル(Aspose.Imaging.Rectangle)の方法をより効果的に使用してください。
[Obsolete("Method is obsolete")]
public CmykColor[] LoadCmykPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
直角からピクセルを充電する。
Returns
CmykColor ( )
充電されたCMYKピクセルアレイ。
LoadPartialArgb32Pixels(レクトアングル、IPartialArgb32PixelLoader)
32 ビット ARGB ピクセルをパッケージによって部分的に充電します。
public void LoadPartialArgb32Pixels(Rectangle rectangle, IPartialArgb32PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
望ましい直角。
partialPixelLoader
IPartialArgb32PixelLoader
32ビット ARGB ピクセル充電器
Examples
例えば、画像の完全に透明なピクセルを数える問題を考えるため、部分充電メカニズムを使用して透明なピクセルを数えるために、分離クラスTransparentArgb32PixelCounterを実施する Aspose.Imaging.IPartialArgb32PixelLoaderが導入されます。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Create an instance of the Aspose.Imaging.IPartialArgb32PixelLoader and pass it to the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels
TransparentArgb32PixelCounter counter = new TransparentArgb32PixelCounter();
// Load pixels for the whole image. Any rectangular part of the image can be specified as the first parameter of the Aspose.Imaging.RasterImage.LoadPartialArgb32Pixels method.
rasterImage.LoadPartialArgb32Pixels(rasterImage.Bounds, counter);
System.Console.WriteLine("The number of fully transparent pixels is {0}", counter.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// The counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentArgb32PixelCounter : IPartialArgb32PixelLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.
/// </summary>
/// <param name="pixelsRectangle"/>The pixels rectangle.
/// <param name="pixels"/>The 32-bit ARGB pixels.
/// <param name="start"/>The start pixels point.
/// <param name="end"/>The end pixels point.
public void Process(Aspose.Imaging.Rectangle pixelsRectangle, int[] pixels, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
foreach (int pixel in pixels)
{
int alpha = (pixel >> 24) & 0xff;
if (alpha == 0)
{
this.count++;
}
}
}
}
LoadPartialArgb64Pixels(レクトアングル、IPartialArgb64PixelLoader)
64 ビット ARGB ピクセルをパッケージによって部分的に充電します。
public void LoadPartialArgb64Pixels(Rectangle rectangle, IPartialArgb64PixelLoader partialPixelLoader)
Parameters
rectangle
Rectangle
望ましい直角。
partialPixelLoader
IPartialArgb64PixelLoader
64ビット ARGB ピクセル充電器
LoadPartialPixels(レクトアンゲル、IPartialPixelLoader)
ピクセルをパッケージで部分的に充電します。
public void LoadPartialPixels(Rectangle desiredRectangle, IPartialPixelLoader pixelLoader)
Parameters
desiredRectangle
Rectangle
望ましい直角。
pixelLoader
IPartialPixelLoader
ピクセル充電器
Examples
例えば、画像の完全に透明なピクセルを数える問題を考えるため、部分充電メカニズムを使用して透明に数えるために、Aspose.Imaging.IPartialPixelLoaderを実施する別のクラスTransparentPixelCounterが導入されます。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Create an instance of the Aspose.Imaging.IPartialPixelLoader and pass it to the Aspose.Imaging.RasterImage.LoadPartialPixels
TransparentPixelCounter counter = new TransparentPixelCounter();
// Load pixels for the whole image. Any rectangular part of the image can be specified as the first parameter of the Aspose.Imaging.RasterImage.LoadPartialPixels method.
rasterImage.LoadPartialPixels(rasterImage.Bounds, counter);
System.Console.WriteLine("The number of fully transparent pixels is {0}", counter.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// The counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentPixelCounter : IPartialPixelLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Processes the loaded pixels. This method is called back every time when a new portion of pixels is loaded.
/// </summary>
/// <param name="pixelsRectangle"/>The pixels rectangle.
/// <param name="pixels"/>The 32-bit ARGB pixels.
/// <param name="start"/>The start pixels point.
/// <param name="end"/>The end pixels point.
public void Process(Aspose.Imaging.Rectangle pixelsRectangle, Aspose.Imaging.Color[] pixels, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
foreach (Color pixel in pixels)
{
if (pixel.A == 0)
{
this.count++;
}
}
}
}
LoadPixels(Rectangle)
ピクセル充電
public Color[] LoadPixels(Rectangle rectangle)
Parameters
rectangle
Rectangle
直角からピクセルを充電する。
Returns
Color ( )
充電したピクセルは、
Examples
下記の例では、ラスター画像のピクセルをロードして処理する方法を示しています。例えば、画像の完全に透明なピクセルを数える問題を考慮してください。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\alpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadPixels method.
Color[] pixels = rasterImage.LoadPixels(rasterImage.Bounds);
int count = 0;
foreach (Color pixel in pixels)
{
if (pixel.A == 0)
{
count++;
}
}
System.Console.WriteLine("The number of fully transparent pixels is {0}", count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
この例では、ピクセル情報をタイプ色の範囲内でロードする方法を示し、範囲を操作し、画像に戻します。これらの操作を実行するには、この例では、新しい画像ファイル(GIF形式)を作成します。
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
LoadRawData(Rectangle、RawDataSettings、IPartialRawDataLoader)
原料データを積み重ねる。
public void LoadRawData(Rectangle rectangle, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
直角から原材料を積み重ねる。
rawDataSettings
RawDataSettings
データが指定された形式でない場合は、データ変換が実行されます。
rawDataLoader
IPartialRawDataLoader
原材料データ充電器
Examples
次の例では、RawDataSettingsを使用して画像データからピクセルを抽出する方法を示しています。例えば、画像の完全に透明なピクセルを数える問題を考慮してください。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\GrayscaleWithAlpha.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
Aspose.Imaging.RawDataSettings settings = rasterImage.RawDataSettings;
TransparentPixelRawDataCounter rawDataLoader = new TransparentPixelRawDataCounter(settings);
// Load pixels for the whole image. Any rectangular part of the image can be specified as a parameter of the Aspose.Imaging.RasterImage.LoadRawData method.
rasterImage.LoadRawData(rasterImage.Bounds, settings, rawDataLoader);
System.Console.WriteLine("The number of fully transparent pixels is {0}", rawDataLoader.Count);
System.Console.WriteLine("The total number of pixels is {0}", image.Width * image.Height);
}
// In case of raw data, the counter may look like this:
/// <summary>
/// Counts the number of fully transparent pixels with alpha channel value of 0.
/// </summary>
private class TransparentPixelRawDataCounter : IPartialRawDataLoader
{
/// <summary>
/// The number of fully transparent pixels.
/// </summary>
private int count;
/// <summary>
/// The raw data settings of the loaded image.
/// </summary>
private Aspose.Imaging.RawDataSettings rawDataSettings;
/// <summary>
/// Gets the number of fully transparent pixels.
/// </summary>
public int Count
{
get { return this.count; }
}
/// <summary>
/// Initializes a new instance of the <see transparentpixelrawdatacounter=""></see> class.
/// </summary>
/// <param name="settings"/>The raw data settings allow to extract color components from raw data.
public TransparentPixelRawDataCounter(Aspose.Imaging.RawDataSettings settings)
{
this.rawDataSettings = settings;
this.count = 0;
}
/// <summary>
/// Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.
/// </summary>
/// <param name="dataRectangle"/>The raw data rectangle.
/// <param name="data"/>The raw data.
/// <param name="start"/>The start data point.
/// <param name="end"/>The end data point.
public void Process(Aspose.Imaging.Rectangle dataRectangle, byte[] data, Aspose.Imaging.Point start, Aspose.Imaging.Point end)
{
int[] channelBits = this.rawDataSettings.PixelDataFormat.ChannelBits;
// Only simple formats are consdired here to simplify the code.
// Let's consider only images with 8 bits per sample.
for (int i = 0; i < channelBits.Length; i++)
{
if (channelBits[i] != 8)
{
throw new System.NotSupportedException();
}
}
switch (this.rawDataSettings.PixelDataFormat.PixelFormat)
{
case PixelFormat.Rgb:
case PixelFormat.Bgr:
{
if (channelBits.Length == 4)
{
// ARGB
for (int i = 0; i < data.Length; i += 4)
{
// The alpha channel is stored last, after the color components.
if (data[i + 3] == 0)
{
this.count++;
}
}
}
}
break;
case PixelFormat.Grayscale:
{
if (channelBits.Length == 2)
{
// Grayscale Alpha
for (int i = 0; i < data.Length; i += 2)
{
// The alpha channel is stored last, after the color components.
if (data[i + 1] == 0)
{
this.count++;
}
}
}
}
break;
default:
throw new System.ArgumentOutOfRangeException("PixelFormat");
}
}
/// <summary>
/// Processes the loaded raw data. This method is called back every time when a new portion of raw data is loaded.
/// </summary>
/// <param name="dataRectangle"/>The raw data rectangle.
/// <param name="data"/>The raw data.
/// <param name="start"/>The start data point.
/// <param name="end"/>The end data point.
/// <param name="loadOptions"/>The load options.
public void Process(Aspose.Imaging.Rectangle dataRectangle, byte[] data, Aspose.Imaging.Point start, Aspose.Imaging.Point end, Aspose.Imaging.LoadOptions loadOptions)
{
this.Process(dataRectangle, data, start, end);
}
}
LoadRawData(Rectangle、Rectangle、RawDataSettings、IPartialRawDataLoader)
原料データを積み重ねる。
public void LoadRawData(Rectangle rectangle, Rectangle destImageBounds, RawDataSettings rawDataSettings, IPartialRawDataLoader rawDataLoader)
Parameters
rectangle
Rectangle
直角から原材料を積み重ねる。
destImageBounds
Rectangle
イメージが限られている。
rawDataSettings
RawDataSettings
データが指定された形式でない場合は、データ変換が実行されます。
rawDataLoader
IPartialRawDataLoader
原材料データ充電器
NormalizeAngle()
角度を正常化する。この方法は、スキャンされたスキャンを取り除くためにスキャンされたテキスト文書に適用されます。この方法では、Aspose.Imaging.RasterImage.GetSkewAngleとAspose.Imaging.RasterImage.Rotate(System.Single)の方法を使用します。
public void NormalizeAngle()
NormalizeAngle(ボール、色)
角度を正常化する。この方法は、スキャンされたスキャンを取り除くためにスキャンされたテキスト文書に適用されます。この方法では、Aspose.Imaging.RasterImage.GetSkewAngleとAspose.Imaging.RasterImage.Rotate(System.Single、System.Boolean、Aspose.Imaging.Color)の方法を使用します。
public virtual void NormalizeAngle(bool resizeProportionally, Color backgroundColor)
Parameters
resizeProportionally
bool
「真実」に設定された場合、画像のサイズは回転直角(角点)プロジェクションに従って変更され、その他の場合、サイズが触れず、内部画像のみが回転されます。
backgroundColor
Color
背景の色。
Examples
Skew は、文書スキャンプロセス中に表示される可能性のあるアーティファクトであり、文書のテキスト/画像が軽い角度で回転する場合がありますが、さまざまな原因がありますが、最も一般的なのは、スキャン中に紙が間違っていることです。
string dir = "c:\\aspose.imaging\\issues\\net\\3567\\";
string inputFilePath = dir + "skewed.png";
string outputFilePath = dir + "skewed.out.png";
// Get rid of the skewed scan with default parameters
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Load(inputFilePath))
{
// Deskew
image.NormalizeAngle(false /*do not resize*/, Aspose.Imaging.Color.LightGray /*background color*/);
image.Save(outputFilePath);
}
NormalizeHistogram()
画像ヒストグラムを標準化する - すべての利用可能な範囲を使用するためにピクセル値を調整します。
public virtual void NormalizeHistogram()
ReadArgb32ScanLine(インタ)
全てのスキャンラインを指定したスキャンラインインデックスによって読み取る。
public int[] ReadArgb32ScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
ゼロベースのスキャンラインのインデックス
Returns
int ( )
スキャンライン 32 ビット ARGB 色の値を順番にします。
ReadScanLine(インタ)
全てのスキャンラインを指定したスキャンラインインデックスによって読み取る。
public Color[] ReadScanLine(int scanLineIndex)
Parameters
scanLineIndex
int
ゼロベースのスキャンラインのインデックス
Returns
Color ( )
スキャンラインピクセル色の値を順番にします。
ReleaseManagedResources()
管理されたリソースをリリースします. 管理されていないリソースがリリースされていないことを確認してください. リソースはすでにリリースされているかもしれません。
protected override void ReleaseManagedResources()
RemoveMetadata()
この画像の例のメタデータを削除して、この Aspose.Imaging.Xmp.IHasXMPData。 ゼロ.
public override void RemoveMetadata()
ReplaceColor(色、バイト、色)
許可の差で色を置き換え、オリジナルのアルファ値を保存し、柔らかい端を保存します。
public void ReplaceColor(Color oldColor, byte oldColorDiff, Color newColor)
Parameters
oldColor
Color
古い色が置き換えられます。
oldColorDiff
byte
古い色の違いが許可され、代替された色の色を広げることができます。
newColor
Color
新しい色で古い色を置き換える。
ReplaceColor(int、 byte、 int)
許可の差で色を置き換え、オリジナルのアルファ値を保存し、柔らかい端を保存します。
public virtual void ReplaceColor(int oldColorArgb, byte oldColorDiff, int newColorArgb)
Parameters
oldColorArgb
int
古い色のARGB値が置き換えられます。
oldColorDiff
byte
古い色の違いが許可され、代替された色の色を広げることができます。
newColorArgb
int
新しい色 ARGB 値は、古い色を置き換える。
ReplaceNonTransparentColors(Color)
すべての不透明な色を新しい色に置き換え、オリジナルのアルファ値を保存し、柔らかい端を保存します。注:透明性のない画像で使用する場合は、すべての色が単一の色で置き換えられます。
public void ReplaceNonTransparentColors(Color newColor)
Parameters
newColor
Color
新しい色は、非透明な色を置き換える。
ReplaceNonTransparentColors(インタ)
すべての不透明な色を新しい色に置き換え、オリジナルのアルファ値を保存し、柔らかい端を保存します。注:透明性のない画像で使用する場合は、すべての色が単一の色で置き換えられます。
public virtual void ReplaceNonTransparentColors(int newColorArgb)
Parameters
newColorArgb
int
新しい色のARGB値は、非透明色を置き換える。
Resize(int、 int、 ImageResizeSettings)
拡張オプションで画像をリセットします。
public override void Resize(int newWidth, int newHeight, ImageResizeSettings settings)
Parameters
newWidth
int
新しい広さ。
newHeight
int
新しい高さ。
settings
ImageResizeSettings
リサイクル設定
Examples
この例では、ラスター画像を積み重ね、さまざまなリサイクル設定を使用してリサイクルします。
string dir = "c:\\temp\\";
Aspose.Imaging.ImageResizeSettings resizeSettings = new Aspose.Imaging.ImageResizeSettings();
// The adaptive algorithm based on weighted and blended rational function and lanczos3 interpolation.
resizeSettings.Mode = Aspose.Imaging.ResizeType.AdaptiveResample;
// The small rectangular filter
resizeSettings.FilterType = Aspose.Imaging.ImageFilterType.SmallRectangular;
// The number of colors in the palette.
resizeSettings.EntriesCount = 256;
// The color quantization is not used
resizeSettings.ColorQuantizationMethod = ColorQuantizationMethod.None;
// The euclidian method
resizeSettings.ColorCompareMethod = ColorCompareMethod.Euclidian;
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.gif"))
{
// Scale down by 2 times using adaptive resampling.
image.Resize(image.Width / 2, image.Height / 2, resizeSettings);
image.Save(dir + "downsample.adaptive.gif");
}
Rotate(フラット、ボール、色)
中心の周りを回転するイメージ。
public virtual void Rotate(float angle, bool resizeProportionally, Color backgroundColor)
Parameters
angle
float
ポジティブな値は時計的に回転します。
resizeProportionally
bool
「真実」に設定された場合、画像のサイズは回転直角(角点)プロジェクションに従って変更され、その他の場合、サイズが触れず、内部画像のみが回転されます。
backgroundColor
Color
背景の色。
Exceptions
実施されていない例外
Rotate(フラット)
中心の周りを回転するイメージ。
public override void Rotate(float angle)
Parameters
angle
float
ポジティブな値は時計的に回転します。
Save(ストリーム、 ImageOptionsBase、Rectangle)
指定されたファイル形式で指定されたストリームに画像のデータを保存し、保存オプションに応じて保存します。
public override void Save(Stream stream, ImageOptionsBase optionsBase, Rectangle boundsRectangle)
Parameters
stream
Stream
ストリームは、画像のデータを保存します。
optionsBase
ImageOptionsBase
節約オプション
boundsRectangle
Rectangle
目的地画像は直角を制限します. ソースの制限を使用するために、空の直角を設定します。
SaveArgb32Pixels(レクサンダー、 int[])
32ビット ARGB ピクセルを保存します。
public void SaveArgb32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
ピクセルを保存するための正角。
pixels
int
( )
32 ビット ARGB ピクセル リリース
Examples
下記の例では、Aspose.Imaging.RasterImage.SaveArgb32Pixels メソッドを使用してブラックピクセルでラスター画像の中心領域を記入します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// The black square
int[] pixels = new int[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = Color.Black.ToArgb();
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SaveArgb32Pixels(area, pixels);
rasterImage.Save(dir + "sample.SaveArgb32Pixels.png");
}
SaveCmyk32Pixels(レクサンダー、 int[])
ピクセルを保存します。
public void SaveCmyk32Pixels(Rectangle rectangle, int[] pixels)
Parameters
rectangle
Rectangle
ピクセルを保存するための正角。
pixels
int
( )
CMYK ピクセルは 32 ビットの総値として表示されます。
Examples
下記の例では、Aspose.Imaging.RasterImage.SaveCmyk32Pixels メソッドを使用してブラックピクセルでラスター画像の中心領域を記入します。
string dir = @"c:\temp\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get an integer representation of black in the CMYK color space.
int blackCmyk = Aspose.Imaging.CmykColorHelper.ToCmyk(Color.Black);
// The black square.
int[] pixels = new int[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = blackCmyk;
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SaveCmyk32Pixels(area, pixels);
rasterImage.Save(dir + "sample.SaveCmyk32Pixels.png");
}
SaveCmykPixels(レクトアンゲル、CmykColor[])
ピクセルを保存します。Aspose.Imaging.RasterImage.SaveCmyk32Pixels(Aspose.Imaging.Rectangle、System.Int32)の方法をより効果的に使用してください。
[Obsolete("Method is obsolete")]
public void SaveCmykPixels(Rectangle rectangle, CmykColor[] pixels)
Parameters
rectangle
Rectangle
ピクセルを保存するための正角。
pixels
CmykColor
( )
CMYK ピクセルをリリース。
SavePixels(正角、色[])
ピクセルを保存します。
public void SavePixels(Rectangle rectangle, Color[] pixels)
Parameters
rectangle
Rectangle
ピクセルを保存するための正角。
pixels
Color
( )
ピクセルが動く。
Examples
下記の例では、Aspose.Imaging.RasterImage.SavePixels メソッドを使用してブラックピクセルでラスター画像の中心領域を記入します。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// The black square
Color[] pixels = new Color[(rasterImage.Width / 2) * (rasterImage.Height / 2)];
for (int i = 0; i < pixels.Length; i++)
{
pixels[i] = Color.Black;
}
// Draw the black square at the center of the image.
Aspose.Imaging.Rectangle area = new Aspose.Imaging.Rectangle(rasterImage.Width / 4, rasterImage.Height / 4, rasterImage.Width / 2, rasterImage.Height / 2);
rasterImage.SavePixels(area, pixels);
rasterImage.Save(dir + "sample.SavePixels.png");
}
この例では、ピクセル情報をタイプ色の範囲内でロードする方法を示し、範囲を操作し、画像に戻します。これらの操作を実行するには、この例では、新しい画像ファイル(GIF形式)を作成します。
//Create an instance of MemoryStream
using (System.IO.MemoryStream stream = new System.IO.MemoryStream())
{
//Create an instance of GifOptions and set its various properties including the Source property
Aspose.Imaging.ImageOptions.GifOptions gifOptions = new Aspose.Imaging.ImageOptions.GifOptions();
gifOptions.Source = new Aspose.Imaging.Sources.StreamSource(stream);
//Create an instance of Image
using (Aspose.Imaging.RasterImage image = (Aspose.Imaging.RasterImage)Aspose.Imaging.Image.Create(gifOptions, 500, 500))
{
//Get the pixels of image by specifying the area as image boundary
Aspose.Imaging.Color[] pixels = image.LoadPixels(image.Bounds);
//Loop over the Array and sets color of alrenative indexed pixel
for (int index = 0; index < pixels.Length; index++)
{
if (index % 2 == 0)
{
//Set the indexed pixel color to yellow
pixels[index] = Aspose.Imaging.Color.Yellow;
}
else
{
//Set the indexed pixel color to blue
pixels[index] = Aspose.Imaging.Color.Blue;
}
}
//Apply the pixel changes to the image
image.SavePixels(image.Bounds, pixels);
// save all changes.
image.Save();
}
// Write MemoryStream to File
using (System.IO.FileStream fileStream = new System.IO.FileStream(@"C:\temp\output.gif", System.IO.FileMode.Create))
{
stream.WriteTo(fileStream);
}
}
SaveRawData(ビート( ), int, レクトアンゲル, RawDataSettings)
原料データを保存します。
public void SaveRawData(byte[] data, int dataOffset, Rectangle rectangle, RawDataSettings rawDataSettings)
Parameters
data
byte
( )
原料データ
dataOffset
int
初期の原料データが補償されます。
rectangle
Rectangle
原料データの直角。
rawDataSettings
RawDataSettings
原料データは、データが入っている設定です。
SetArgb32Pixel(int、 int、 int)
指定された位置に 32 ビット ARGB ピクセルを設定します。
public void SetArgb32Pixel(int x, int y, int argb32Color)
Parameters
x
int
ピクセルXの位置
y
int
ピクセルと位置
argb32Color
int
32 ビット ARGB ピクセルは、指定された位置のためのものです。
Examples
次の例では、ラスター画像をアップロードし、任意のピクセルの色を設定します。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Sets the color of the top-left pixel.
rasterImage.SetArgb32Pixel(0, 0, Aspose.Imaging.Color.Aqua.ToArgb());
// Another way is to pass an instance of the Aspose.Imaging.Color directly
rasterImage.SetPixel(0, 0, Aspose.Imaging.Color.Aqua);
}
SetPalette(ボール、ボール)
画像パレットを設定します。
public override void SetPalette(IColorPalette palette, bool updateColors)
Parameters
palette
IColorPalette
パレットを設定する。
updateColors
bool
「真実」に設定された色は、新しいパレットに従って更新されます; そうでなければ、色指数は変わらないままです. 変更されていない指数は、いくつかの指数が相応するパレットエントリーを持っていない場合、ロード上の画像が崩壊する可能性があります。
SetPixel(int, int, 色)
指定された位置に画像ピクセルを設定します。
public void SetPixel(int x, int y, Color color)
Parameters
x
int
ピクセルXの位置
y
int
ピクセルと位置
color
Color
ピクセル色は指定された位置に。
Examples
次の例では、ラスター画像をアップロードし、任意のピクセルの色を設定します。
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(@"c:\temp\sample.png"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Sets the color of the top-left pixel.
rasterImage.SetArgb32Pixel(0, 0, Aspose.Imaging.Color.Aqua.ToArgb());
// Another way is to pass an instance of the Aspose.Imaging.Color directly
rasterImage.SetPixel(0, 0, Aspose.Imaging.Color.Aqua);
}
SetResolution(ダブル、ダブル)
この Aspose.Imaging.RasterImage の解像度を設定します。
public virtual void SetResolution(double dpiX, double dpiY)
Parameters
dpiX
double
Aspose.Imaging.RasterImage の垂直解像度は、インチあたりの点で、
dpiY
double
Aspose.Imaging.RasterImage の垂直解像度は、インチあたりの点で表示されます。
Examples
下記の例では、ラスター画像の水平/垂直解像度を設定する方法を示しています。
string dir = "c:\\temp\\";
using (Aspose.Imaging.Image image = Aspose.Imaging.Image.Load(dir + "sample.jpg"))
{
Aspose.Imaging.RasterImage rasterImage = (Aspose.Imaging.RasterImage)image;
// Get horizontal and vertical resolution of the image
double horizontalResolution = rasterImage.HorizontalResolution;
double verticalResolution = rasterImage.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");
rasterImage.SetResolution(96.0, 96.0);
System.Console.WriteLine("The horizontal resolution, in pixels per inch: {0}", rasterImage.HorizontalResolution);
System.Console.WriteLine("The vertical resolution, in pixels per inch: {0}", rasterImage.VerticalResolution);
}
// The output may look like this:
// The horizontal resolution, in pixels per inch: 300
// The vertical resolution, in pixels per inch: 300
// Set resolution values to 96 dpi
// The horizontal resolution, in pixels per inch: 96
// The vertical resolution, in pixels per inch: 96
}
ToBitmap()
ラスター画像をビットマップに変換します。この方法は .Net7.0 以降のバージョンではサポートされていません。
public virtual Bitmap ToBitmap()
Returns
ビットマップ
UpdateDimensions(int、 int)
画像のサイズを更新します。
protected abstract void UpdateDimensions(int newWidth, int newHeight)
Parameters
newWidth
int
新しい画像の幅。
newHeight
int
新しい画像の高さ。
UpdateMetadata()
画像メタデータを更新します。
protected virtual void UpdateMetadata()
WriteArgb32ScanLine(int、 int[])
すべてのスキャンラインを指定されたスキャンラインインデックスに記入します。
public void WriteArgb32ScanLine(int scanLineIndex, int[] argb32Pixels)
Parameters
scanLineIndex
int
ゼロベースのスキャンラインのインデックス
argb32Pixels
int
( )
32 ビット ARGB 色は、書き込みに備えています。
WriteScanLine(色、色[])
すべてのスキャンラインを指定されたスキャンラインインデックスに記入します。
public void WriteScanLine(int scanLineIndex, Color[] pixels)
Parameters
scanLineIndex
int
ゼロベースのスキャンラインのインデックス
pixels
Color
( )
ピクセル色が書く。