Class RasterCachedImage

RasterCachedImage class

Mewakili gambar raster yang mendukung operasi grafik raster. Gambar ini menyimpan data piksel saat diperlukan.

public abstract class RasterCachedImage : RasterImage

Properti

NamaKeterangan
AutoAdjustPalette { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah palet penyesuaian otomatis.
virtual BackgroundColor { get; set; }Mendapat atau menetapkan nilai untuk warna latar belakang.
abstract BitsPerPixel { get; }Mendapat bit gambar per jumlah piksel.
Bounds { get; }Mendapat batas gambar.
BufferSizeHint { get; set; }Mendapat atau menyetel petunjuk ukuran buffer yang ditentukan ukuran maksimum yang diizinkan untuk semua buffer internal.
Container { get; }MendapatkanImage wadah.
DataStreamContainer { get; }Mendapat aliran data objek.
Disposed { get; }Mendapat nilai yang menunjukkan apakah instance ini dibuang.
virtual FileFormat { get; }Mendapat nilai format file
virtual HasAlpha { get; }Mendapat nilai yang menunjukkan apakah instance ini memiliki alpha.
virtual HasBackgroundColor { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah gambar memiliki warna latar belakang.
virtual HasTransparentColor { get; set; }Mendapat nilai yang menunjukkan apakah gambar berwarna transparan.
abstract Height { get; }Mendapatkan tinggi gambar.
virtual HorizontalResolution { get; set; }Mendapat atau menyetel resolusi horizontal, dalam piksel per inci, dari iniRasterImage .
virtual ImageOpacity { get; }Mendapat opacity dari gambar ini.
InterruptMonitor { get; set; }Mendapat atau menyetel monitor interupsi.
override IsCached { get; }Mendapat nilai yang menunjukkan apakah data gambar di-cache saat ini.
IsRawDataAvailable { get; }Mendapat nilai yang menunjukkan apakah pemuatan data mentah tersedia.
Palette { get; set; }Mendapat atau menyetel palet warna. Palet warna tidak digunakan saat piksel direpresentasikan secara langsung.
virtual PremultiplyComponents { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah komponen gambar harus dikalikan sebelumnya.
RawCustomColorConverter { get; set; }Mendapat atau menyetel konverter warna khusus
virtual RawDataFormat { get; }Mendapatkan format data mentah.
RawDataSettings { get; }Mendapat pengaturan data mentah saat ini. Perhatikan saat menggunakan setelan ini, data dimuat tanpa konversi.
RawFallbackIndex { get; set; }Mendapat atau menyetel indeks fallback untuk digunakan saat indeks palet di luar batas
RawIndexedColorConverter { get; set; }Mendapat atau mengatur konverter warna yang diindeks
virtual RawLineSize { get; }Mendapat ukuran garis mentah dalam byte.
Size { get; }Mendapatkan ukuran gambar.
virtual TransparentColor { get; set; }Mendapat warna transparan gambar.
virtual UpdateXmpData { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah akan memperbarui metadata XMP.
virtual UseRawData { get; set; }Mendapat atau menetapkan nilai yang menunjukkan apakah akan menggunakan pemuatan data mentah saat pemuatan data mentah tersedia.
virtual VerticalResolution { get; set; }Mendapat atau menyetel resolusi vertikal, dalam piksel per inci, dari iniRasterImage .
abstract Width { get; }Mendapatkan lebar gambar.
virtual XmpData { get; set; }Mendapat atau menyetel metadata XMP.

Metode

NamaKeterangan
override AdjustBrightness(int)Menyesuaikan kecerahan untuk gambar.
override AdjustContrast(float)Kontras gambar
override AdjustGamma(float)Gamma-koreksi gambar.
override AdjustGamma(float, float, float)Gamma-koreksi gambar.
override BinarizeBradley(double)Binarisasi gambar menggunakan algoritme ambang batas adaptif Bradley menggunakan ambang batas gambar integral
override BinarizeBradley(double, int)Binarisasi gambar menggunakan algoritme ambang batas adaptif Bradley menggunakan ambang batas gambar integral
override BinarizeFixed(byte)Binarisasi gambar dengan ambang yang ditentukan sebelumnya
override BinarizeOtsu()Binarisasi gambar dengan thresholding Otsu
override CacheData()Meng-cache data dan memastikan tidak ada pemuatan data tambahan yang dilakukan dari dasarnyaDataStreamContainer .
CanSave(ImageOptionsBase)Menentukan apakah gambar dapat disimpan ke format file tertentu yang diwakili oleh opsi penyimpanan yang diteruskan.
override Crop(Rectangle)Memotong gambar.
virtual Crop(int, int, int, int)Pangkas gambar dengan shift.
Dispose()Membuang instance saat ini.
Dither(DitheringMethod, int)Melakukan dithering pada gambar saat ini.
override Dither(DitheringMethod, int, IColorPalette)Melakukan dithering pada gambar saat ini.
virtual Filter(Rectangle, FilterOptionsBase)Memfilter persegi panjang yang ditentukan.
GetArgb32Pixel(int, int)Mendapat gambar piksel ARGB 32-bit.
GetDefaultArgb32Pixels(Rectangle)Mendapatkan susunan piksel ARGB 32-bit default.
virtual GetDefaultOptions(object[])Mendapat opsi default.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Mendapatkan larik piksel default menggunakan pemuat piksel parsial.
GetDefaultRawData(Rectangle, RawDataSettings)Mendapat larik data mentah default.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Mendapatkan larik data mentah default menggunakan pemuat piksel parsial.
virtual GetModifyDate(bool)Mendapatkan tanggal dan waktu gambar sumber daya terakhir diubah.
virtual GetOriginalOptions()Mendapatkan opsi berdasarkan pengaturan file asli. Hal ini berguna untuk menjaga kedalaman bit dan parameter lain dari gambar asli tidak berubah. Misalnya, jika kita memuat gambar PNG hitam-putih dengan 1 bit per piksel lalu simpan menggunakan the Save , gambar PNG keluaran dengan 8-bit per piksel akan dihasilkan. Untuk menghindarinya dan menyimpan gambar PNG dengan 1-bit per piksel, gunakan metode ini untuk mendapatkan opsi penyimpanan yang sesuai dan meneruskannya keSavemetode sebagai parameter kedua.
GetPixel(int, int)Mendapat piksel gambar.
GetSkewAngle()Mendapatkan sudut kemiringan. Metode ini berlaku untuk dokumen teks yang dipindai, untuk menentukan sudut kemiringan saat memindai.
override Grayscale()Transformasi gambar ke representasi skala abu-abunya
LoadArgb32Pixels(Rectangle)Memuat piksel ARGB 32-bit.
LoadArgb64Pixels(Rectangle)Memuat piksel ARGB 64-bit.
LoadCmyk32Pixels(Rectangle)Memuat piksel dalam format CMYK.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Memuat piksel ARGB 32-bit sebagian per paket.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Memuat piksel sebagian per paket.
LoadPixels(Rectangle)Memuat piksel.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Memuat data mentah.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Memuat data mentah.
NormalizeAngle()Menormalkan sudut. Metode ini berlaku untuk dokumen teks yang dipindai untuk menghilangkan pindaian miring. Metode ini menggunakanGetSkewAngle DanRotate metode.
virtual NormalizeAngle(bool, Color)Menormalkan sudut. Metode ini berlaku untuk dokumen teks yang dipindai untuk menghilangkan pindaian miring. Metode ini menggunakanGetSkewAngle DanRotate metode.
ReadArgb32ScanLine(int)Membaca seluruh baris pindai dengan indeks baris pindai yang ditentukan.
ReadScanLine(int)Membaca seluruh baris pindai dengan indeks baris pindai yang ditentukan.
ReplaceColor(Color, byte, Color)Mengganti satu warna ke warna lain dengan perbedaan yang diperbolehkan dan mempertahankan nilai alfa asli untuk menyimpan tepi yang halus.
virtual ReplaceColor(int, byte, int)Mengganti satu warna ke warna lain dengan perbedaan yang diperbolehkan dan mempertahankan nilai alfa asli untuk menyimpan tepi yang halus.
ReplaceNonTransparentColors(Color)Mengganti semua warna non-transparan dengan warna baru dan mempertahankan nilai alfa asli untuk mempertahankan tepi yang halus. Catatan: jika Anda menggunakannya pada gambar tanpa transparansi, semua warna akan diganti dengan satu warna.
virtual ReplaceNonTransparentColors(int)Mengganti semua warna non-transparan dengan warna baru dan mempertahankan nilai alfa asli untuk mempertahankan tepi yang halus. Catatan: jika Anda menggunakannya pada gambar tanpa transparansi, semua warna akan diganti dengan satu warna.
Resize(int, int)Mengubah ukuran gambar. DefaultLeftTopToLeftTopdigunakan.
override Resize(int, int, ImageResizeSettings)Mengubah ukuran gambar.
override Resize(int, int, ResizeType)Mengubah ukuran gambar.
ResizeHeightProportionally(int)Mengubah ukuran tinggi secara proporsional.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Mengubah ukuran tinggi secara proporsional.
virtual ResizeHeightProportionally(int, ResizeType)Mengubah ukuran tinggi secara proporsional.
ResizeWidthProportionally(int)Mengubah ukuran lebar secara proporsional.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Mengubah ukuran lebar secara proporsional.
virtual ResizeWidthProportionally(int, ResizeType)Mengubah ukuran lebar secara proporsional.
virtual Rotate(float)Putar gambar di tengah.
override Rotate(float, bool, Color)Putar gambar di tengah.
override RotateFlip(RotateFlipType)Memutar, membalik, atau memutar dan membalik gambar.
Save()Menyimpan data gambar ke aliran yang mendasarinya.
virtual Save(Stream)Menyimpan data objek ke aliran yang ditentukan.
Save(string)Menyimpan data objek ke lokasi file yang ditentukan.
Save(Stream, ImageOptionsBase)Menyimpan data gambar ke aliran yang ditentukan dalam format file yang ditentukan sesuai dengan opsi penyimpanan.
virtual Save(string, bool)Menyimpan data objek ke lokasi file yang ditentukan.
virtual Save(string, ImageOptionsBase)Menyimpan data objek ke lokasi file yang ditentukan dalam format file yang ditentukan sesuai dengan opsi penyimpanan.
override Save(Stream, ImageOptionsBase, Rectangle)Menyimpan data gambar ke aliran yang ditentukan dalam format file yang ditentukan sesuai dengan opsi penyimpanan.
virtual Save(string, ImageOptionsBase, Rectangle)Menyimpan data objek ke lokasi file yang ditentukan dalam format file yang ditentukan sesuai dengan opsi penyimpanan.
SaveArgb32Pixels(Rectangle, int[])Menyimpan piksel ARGB 32-bit.
SaveCmyk32Pixels(Rectangle, int[])Menyimpan piksel.
SavePixels(Rectangle, Color[])Menyimpan piksel.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Menyimpan data mentah.
SetArgb32Pixel(int, int, int)Mengatur piksel ARGB gambar 32-bit untuk posisi yang ditentukan.
override SetPalette(IColorPalette, bool)Mengatur palet gambar.
SetPixel(int, int, Color)Mengatur piksel gambar untuk posisi yang ditentukan.
virtual SetResolution(double, double)Menetapkan resolusi untuk iniRasterImage .
virtual ToBitmap()Mengubah gambar raster menjadi bitmap.
WriteArgb32ScanLine(int, int[])Menulis seluruh baris pindai ke indeks baris pindai yang ditentukan.
WriteScanLine(int, Color[])Menulis seluruh baris pindai ke indeks baris pindai yang ditentukan.

Contoh

Kode berikut menunjukkan kemampuan untuk memotong gambar dengan persegi panjang tertentu.

[C#]

string sourceFileName = "SourceFile.psd";
string exportPath = "SourceFileEdited.psd";
string exportPathPng = "SourceFileEdited.png";

using (var image = (PsdImage)Image.Load(sourceFileName))
{
    var oldLayer = image.Layers[0];
    var oldBounds = oldLayer.Bounds;

    var oldLayerData = image.Layers[0].LoadArgb32Pixels(oldBounds);

    var layers = new Layer[4];
    for (int i = 0; i < 4; i++)
    {
        layers[i] = new Layer(
            oldBounds,
            new byte[oldBounds.Width * oldBounds.Height],
            new byte[oldBounds.Width * oldBounds.Height],
            new byte[oldBounds.Width * oldBounds.Height],
            "Layer " + i.ToString());
        layers[i].SaveArgb32Pixels(oldBounds, oldLayerData);
    }

    image.Resize(186, 602);

    layers[0].Crop(new Rectangle(0, 0, 186, 159));
    layers[1].Crop(new Rectangle(186, 0, 186, 159));
    layers[2].Crop(new Rectangle(0, 159, 186, 142));
    layers[3].Crop(new Rectangle(186, 159, 186, 142));

    oldLayer.Dispose();
    image.Layers = layers;

    var top = 0;
    for (int i = 0; i < 4; i++)
    {
        var width = layers[i].Width;
        var height = layers[i].Height;
        layers[i].Left = 0;
        layers[i].Top = top;
        layers[i].Right = width;
        layers[i].Bottom = height + layers[i].Top;
        top += layers[i].Height;
    }

    // Simpan psd
    image.Save(exportPath, new PsdOptions());

    // Simpan png
    image.Save(exportPathPng, new PngOptions());
}

Lihat juga