Class RasterCachedImage

RasterCachedImage class

Représente une image raster prenant en charge les opérations graphiques raster. Cette image met en cache les données de pixel lorsque cela est nécessaire.

public abstract class RasterCachedImage : RasterImage

Propriétés

NomLa description
AutoAdjustPalette { get; set; }Obtient ou définit une valeur indiquant si la palette de réglage automatique.
virtual BackgroundColor { get; set; }Obtient ou définit une valeur pour la couleur d’arrière-plan.
abstract BitsPerPixel { get; }Obtient le nombre de bits d’image par pixel.
Bounds { get; }Obtient les limites de l’image.
BufferSizeHint { get; set; }Obtient ou définit l’indice de taille de tampon qui est défini comme la taille maximale autorisée pour tous les tampons internes.
Container { get; }Obtient leImage conteneur.
DataStreamContainer { get; }Obtient le flux de données de l’objet.
Disposed { get; }Obtient une valeur indiquant si cette instance est supprimée.
virtual FileFormat { get; }Obtient une valeur de format de fichier
virtual HasAlpha { get; }Obtient une valeur indiquant si cette instance a alpha.
virtual HasBackgroundColor { get; set; }Obtient ou définit une valeur indiquant si l’image a une couleur d’arrière-plan.
virtual HasTransparentColor { get; set; }Obtient une valeur indiquant si l’image a une couleur transparente.
abstract Height { get; }Obtient la hauteur de l’image.
virtual HorizontalResolution { get; set; }Obtient ou définit la résolution horizontale, en pixels par pouce, de ceRasterImage .
virtual ImageOpacity { get; }Obtient l’opacité de cette image.
InterruptMonitor { get; set; }Obtient ou définit le moniteur d’interruption.
override IsCached { get; }Obtient une valeur indiquant si les données d’image sont actuellement mises en cache.
IsRawDataAvailable { get; }Obtient une valeur indiquant si le chargement des données brutes est disponible.
Palette { get; set; }Obtient ou définit la palette de couleurs. La palette de couleurs n’est pas utilisée lorsque les pixels sont représentés directement.
virtual PremultiplyComponents { get; set; }Obtient ou définit une valeur indiquant si les composants de l’image doivent être prémultipliés.
RawCustomColorConverter { get; set; }Obtient ou définit le convertisseur de couleur personnalisé
virtual RawDataFormat { get; }Obtient le format des données brutes.
RawDataSettings { get; }Obtient les paramètres de données brutes actuels. Notez que lorsque vous utilisez ces paramètres, les données se chargent sans conversion.
RawFallbackIndex { get; set; }Obtient ou définit l’index de secours à utiliser lorsque l’index de palette est hors limites
RawIndexedColorConverter { get; set; }Obtient ou définit le convertisseur de couleur indexé
virtual RawLineSize { get; }Obtient la taille de ligne brute en octets.
Size { get; }Obtient la taille de l’image.
virtual TransparentColor { get; set; }Obtient la couleur transparente de l’image.
virtual UpdateXmpData { get; set; }Obtient ou définit une valeur indiquant s’il faut mettre à jour les métadonnées XMP.
virtual UseRawData { get; set; }Obtient ou définit une valeur indiquant s’il faut utiliser le chargement des données brutes lorsque le chargement des données brutes est disponible.
virtual VerticalResolution { get; set; }Obtient ou définit la résolution verticale, en pixels par pouce, de ceRasterImage .
abstract Width { get; }Obtient la largeur de l’image.
virtual XmpData { get; set; }Obtient ou définit les métadonnées XMP.

Méthodes

NomLa description
override AdjustBrightness(int)Réglage d’une luminosité pour l’image.
override AdjustContrast(float)Image contrastée
override AdjustGamma(float)Correction gamma d’une image.
override AdjustGamma(float, float, float)Correction gamma d’une image.
override BinarizeBradley(double)Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral
override BinarizeBradley(double, int)Binarisation d’une image à l’aide de l’algorithme de seuillage adaptatif de Bradley à l’aide du seuillage d’image intégral
override BinarizeFixed(byte)Binarisation d’une image avec seuil prédéfini
override BinarizeOtsu()Binarisation d’une image avec seuillage Otsu
override CacheData()Met en cache les données et garantit qu’aucun chargement de données supplémentaire ne sera effectué à partir du sous-jacentDataStreamContainer .
CanSave(ImageOptionsBase)Détermine si l’image peut être enregistrée dans le format de fichier spécifié représenté par les options d’enregistrement transmises.
override Crop(Rectangle)Recadrage de l’image.
virtual Crop(int, int, int, int)Recadrer l’image avec des décalages.
Dispose()Supprime l’instance actuelle.
Dither(DitheringMethod, int)Effectue un tramage sur l’image actuelle.
override Dither(DitheringMethod, int, IColorPalette)Effectue un tramage sur l’image actuelle.
virtual Filter(Rectangle, FilterOptionsBase)Filtre le rectangle spécifié.
GetArgb32Pixel(int, int)Obtient une image pixel ARGB 32 bits.
GetDefaultArgb32Pixels(Rectangle)Obtient le tableau de pixels ARGB 32 bits par défaut.
virtual GetDefaultOptions(object[])Récupère les options par défaut.
GetDefaultPixels(Rectangle, IPartialArgb32PixelLoader)Obtient le tableau de pixels par défaut à l’aide du chargeur de pixels partiel.
GetDefaultRawData(Rectangle, RawDataSettings)Obtient le tableau de données brutes par défaut.
GetDefaultRawData(Rectangle, IPartialRawDataLoader, RawDataSettings)Obtient le tableau de données brutes par défaut à l’aide du chargeur de pixels partiel.
virtual GetModifyDate(bool)Obtient la date et l’heure de la dernière modification de l’image de ressource.
virtual GetOriginalOptions()Obtient les options basées sur les paramètres du fichier d’origine. Cela peut être utile pour conserver la profondeur de bits et d’autres paramètres de l’image d’origine inchangés. Par exemple, si nous chargeons une image PNG noir-blanc avec 1 bit par pixel, puis enregistrez-le en utilisant the Save , l’image PNG de sortie avec 8 bits par pixel sera produite. Pour l’éviter et enregistrer l’image PNG avec 1 bit par pixel, utilisez cette méthode pour obtenir les options d’enregistrement correspondantes et passez-les auSaveméthode comme deuxième paramètre.
GetPixel(int, int)Obtient un pixel d’image.
GetSkewAngle()Obtient l’angle d’inclinaison. Cette méthode est applicable aux documents texte numérisés, pour déterminer l’angle d’inclinaison lors de la numérisation.
override Grayscale()Transformation d’une image en sa représentation en niveaux de gris
LoadArgb32Pixels(Rectangle)Charge les pixels ARGB 32 bits.
LoadArgb64Pixels(Rectangle)Charge les pixels ARGB 64 bits.
LoadCmyk32Pixels(Rectangle)Charge les pixels au format CMJN.
LoadPartialArgb32Pixels(Rectangle, IPartialArgb32PixelLoader)Charge les pixels ARGB 32 bits partiellement par packs.
LoadPartialPixels(Rectangle, IPartialPixelLoader)Charge les pixels partiellement par packs.
LoadPixels(Rectangle)Charge les pixels.
LoadRawData(Rectangle, RawDataSettings, IPartialRawDataLoader)Charge les données brutes.
LoadRawData(Rectangle, Rectangle, RawDataSettings, IPartialRawDataLoader)Charge les données brutes.
NormalizeAngle()Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utiliseGetSkewAngle etRotate méthodes.
virtual NormalizeAngle(bool, Color)Normalise l’angle. Cette méthode est applicable aux documents texte numérisés pour se débarrasser de la numérisation biaisée. Cette méthode utiliseGetSkewAngle etRotate méthodes.
ReadArgb32ScanLine(int)Lit toute la ligne de balayage par l’index de ligne de balayage spécifié.
ReadScanLine(int)Lit toute la ligne de balayage par l’index de ligne de balayage spécifié.
ReplaceColor(Color, byte, Color)Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses.
virtual ReplaceColor(int, byte, int)Remplace une couleur par une autre avec la différence autorisée et conserve la valeur alpha d’origine pour enregistrer des bords lisses.
ReplaceNonTransparentColors(Color)Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour économiser des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule.
virtual ReplaceNonTransparentColors(int)Remplace toutes les couleurs non transparentes par une nouvelle couleur et conserve la valeur alpha d’origine pour économiser des bords lisses. Remarque : si vous l’utilisez sur des images sans transparence, toutes les couleurs seront remplacées par une seule.
Resize(int, int)Redimensionne l’image. Le défautLeftTopToLeftTopest utilisé.
override Resize(int, int, ImageResizeSettings)Redimensionne l’image.
override Resize(int, int, ResizeType)Redimensionne l’image.
ResizeHeightProportionally(int)Redimensionne la hauteur proportionnellement.
virtual ResizeHeightProportionally(int, ImageResizeSettings)Redimensionne la hauteur proportionnellement.
virtual ResizeHeightProportionally(int, ResizeType)Redimensionne la hauteur proportionnellement.
ResizeWidthProportionally(int)Redimensionne la largeur proportionnellement.
virtual ResizeWidthProportionally(int, ImageResizeSettings)Redimensionne la largeur proportionnellement.
virtual ResizeWidthProportionally(int, ResizeType)Redimensionne la largeur proportionnellement.
virtual Rotate(float)Faire pivoter l’image autour du centre.
override Rotate(float, bool, Color)Faire pivoter l’image autour du centre.
override RotateFlip(RotateFlipType)Fait pivoter, retourne ou fait pivoter et retourne l’image.
Save()Enregistre les données d’image dans le flux sous-jacent.
virtual Save(Stream)Enregistre les données de l’objet dans le flux spécifié.
Save(string)Enregistre les données de l’objet à l’emplacement de fichier spécifié.
Save(Stream, ImageOptionsBase)Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
virtual Save(string, bool)Enregistre les données de l’objet à l’emplacement de fichier spécifié.
virtual Save(string, ImageOptionsBase)Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
override Save(Stream, ImageOptionsBase, Rectangle)Enregistre les données de l’image dans le flux spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
virtual Save(string, ImageOptionsBase, Rectangle)Enregistre les données de l’objet à l’emplacement de fichier spécifié dans le format de fichier spécifié en fonction des options d’enregistrement.
SaveArgb32Pixels(Rectangle, int[])Enregistre les pixels ARGB 32 bits.
SaveCmyk32Pixels(Rectangle, int[])Enregistre les pixels.
SavePixels(Rectangle, Color[])Enregistre les pixels.
SaveRawData(byte[], int, Rectangle, RawDataSettings)Enregistre les données brutes.
SetArgb32Pixel(int, int, int)Définit un pixel ARGB 32 bits d’image pour la position spécifiée.
override SetPalette(IColorPalette, bool)Définit la palette d’images.
SetPixel(int, int, Color)Définit un pixel d’image pour la position spécifiée.
virtual SetResolution(double, double)Définit la résolution pour ceRasterImage .
virtual ToBitmap()Convertit l’image raster en bitmap.
WriteArgb32ScanLine(int, int[])Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié.
WriteScanLine(int, Color[])Écrit toute la ligne de balayage dans l’index de ligne de balayage spécifié.

Exemples

Le code suivant montre la possibilité de recadrer l’image par rectangle spécifique.

[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;
    }

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

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

Voir également