ImageDecoder Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Classe permettant de convertir des images encodées (telles que PNG, , WEBPJPEG, GIFou HEIF) en Drawable objets ou Bitmap en objets.
[Android.Runtime.Register("android/graphics/ImageDecoder", ApiSince=28, DoNotGenerateAcw=true)]
public sealed class ImageDecoder : Java.Lang.Object, IDisposable, Java.Interop.IJavaPeerable, Java.Lang.IAutoCloseable
[<Android.Runtime.Register("android/graphics/ImageDecoder", ApiSince=28, DoNotGenerateAcw=true)>]
type ImageDecoder = class
inherit Object
interface IAutoCloseable
interface IJavaObject
interface IDisposable
interface IJavaPeerable
- Héritage
- Attributs
- Implémente
Remarques
Classe permettant de convertir des images encodées (telles que PNG, , WEBPJPEG, GIFou HEIF) en Drawable objets ou Bitmap en objets.
Pour l’utiliser, créez d’abord l’une Source Source des createSource surcharges. Par exemple, pour décoder à partir d’un Uri, appeler #createSource(ContentResolver, Uri) et passer le résultat à #decodeDrawable(Source) ou #decodeBitmap(Source):
File file = new File(...);
ImageDecoder.Source source = ImageDecoder.createSource(file);
Drawable drawable = ImageDecoder.decodeDrawable(source);
Pour modifier les paramètres par défaut, passez-les Source Source à ou #decodeBitmap(Source, OnHeaderDecodedListener).OnHeaderDecodedListener OnHeaderDecodedListener #decodeDrawable(Source, OnHeaderDecodedListener) Par exemple, pour créer une image échantillonné avec la moitié de la largeur et de la hauteur de l’image d’origine, appelez #setTargetSampleSize setTargetSampleSize(2) à l’intérieur OnHeaderDecodedListener#onHeaderDecoded onHeaderDecoded:
OnHeaderDecodedListener listener = new OnHeaderDecodedListener() {
public void onHeaderDecoded(ImageDecoder decoder, ImageInfo info, Source source) {
decoder.setTargetSampleSize(2);
}
};
Drawable drawable = ImageDecoder.decodeDrawable(source, listener);
Contient ImageInfo ImageInfo des informations sur l’image encodée, comme sa largeur et sa hauteur, et peut Source Source être utilisée pour correspondre à un particulier Source Source si un seul OnHeaderDecodedListener OnHeaderDecodedListener est utilisé avec plusieurs Source Source objets.
Il OnHeaderDecodedListener OnHeaderDecodedListener peut également être implémenté en tant que lambda :
Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -> {
decoder.setTargetSampleSize(2);
});
Si l’image encodée est animée GIF ou WEBP, #decodeDrawable decodeDrawable retourne un AnimatedImageDrawable. Pour démarrer son animation, appelez AnimatedImageDrawable#start AnimatedImageDrawable.start():
Drawable drawable = ImageDecoder.decodeDrawable(source);
if (drawable instanceof AnimatedImageDrawable) {
((AnimatedImageDrawable) drawable).start();
}
Par défaut, un Bitmap créé par ImageDecoder (y compris celui qui se trouve à l’intérieur d’un Drawable) sera immuable (c’est-à-dire Bitmap#isMutable Bitmap.isMutable() retourne false), et il aura ConfigBitmap.Config#HARDWAREgénéralement . Bien que ces propriétés puissent être modifiées avec #setMutableRequired setMutableRequired(true) (qui est uniquement compatible avec #decodeBitmap(Source) et #decodeBitmap(Source, OnHeaderDecodedListener)) et #setAllocator, il est également possible d’appliquer des effets personnalisés indépendamment de la mutabilité de l’objet retourné final en passant un PostProcessor à #setPostProcessor setPostProcessor. Il PostProcessor peut également s’agir d’une expression lambda :
Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -> {
decoder.setPostProcessor((canvas) -> {
// This will create rounded corners.
Path path = new Path();
path.setFillType(Path.FillType.INVERSE_EVEN_ODD);
int width = canvas.getWidth();
int height = canvas.getHeight();
path.addRoundRect(0, 0, width, height, 20, 20, Path.Direction.CW);
Paint paint = new Paint();
paint.setAntiAlias(true);
paint.setColor(Color.TRANSPARENT);
paint.setXfermode(new PorterDuffXfermode(PorterDuff.Mode.SRC));
canvas.drawPath(path, paint);
return PixelFormat.TRANSLUCENT;
});
});
Si l’image encodée est incomplète ou contient une erreur, ou si une Exception erreur se produit pendant le décodage, une DecodeException DecodeException est levée. Dans certains cas, la ImageDecoder partie décodée de l’image peut avoir été décodée. Pour afficher l’image partielle, il OnPartialImageListener OnPartialImageListener doit être passé à #setOnPartialImageListener setOnPartialImageListener. Par exemple :
Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -> {
decoder.setOnPartialImageListener((DecodeException e) -> {
// Returning true indicates to create a Drawable or Bitmap even
// if the whole image could not be decoded. Any remaining lines
// will be blank.
return true;
});
});
Documentation Java pour android.graphics.ImageDecoder.
Les parties de cette page sont des modifications basées sur le travail créé et partagé par le projet Android Open Source et utilisés en fonction des termes décrits dans la licence d’attribution Creative Commons 2.5.
Champs
| AllocatorDefault |
Obsolète.
Utilisez l’allocation par défaut pour la mémoire de pixels. |
| AllocatorHardware |
Obsolète.
Exiger un |
| AllocatorSharedMemory |
Obsolète.
Utilisez la mémoire partagée pour la mémoire de pixels. |
| AllocatorSoftware |
Obsolète.
Utilisez une allocation logicielle pour la mémoire de pixels. |
| MemoryPolicyDefault |
Obsolète.
Utilisez le plus naturel |
| MemoryPolicyLowRam |
Obsolète.
Enregistrez la mémoire si possible à l’aide d’un denser |
Propriétés
| Class |
Retourne la classe runtime de ce |
| Crop |
Retourne le rectangle de rognage, s’il est défini. -ou- Rognez la sortie vers l’image (éventuellement) mise à |
| DecodeAsAlphaMaskEnabled |
Retournez s’il faut traiter l’entrée à canal unique comme alpha. -ou- Spécifiez s’il faut éventuellement traiter la sortie en tant que masque alpha. |
| Handle |
Handle de l’instance Android sous-jacente. (Hérité de Object) |
| JniIdentityHashCode |
Classe permettant de convertir des images encodées (telles que |
| JniPeerMembers |
Classe permettant de convertir des images encodées (telles que |
| MemorySizePolicy |
Récupérez la stratégie de mémoire pour le décodé |
| MutableRequired |
Retourne si le décodé |
| OnPartialImageListener |
Définissez (remplacez) l’objet |
| PeerReference |
Classe permettant de convertir des images encodées (telles que |
| PostProcessor |
Retournez l’ensemble |
| ThresholdClass |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
| ThresholdType |
Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code. (Hérité de Object) |
| UnpremultipliedRequired |
Retourne si les |
Méthodes
| Clone() |
Crée et retourne une copie de cet objet. (Hérité de Object) |
| Close() |
Ferme cette ressource, en abandonnant toutes les ressources sous-jacentes. |
| CreateSource(AssetManager, String) |
Créez-en un à |
| CreateSource(Byte[], Int32, Int32) |
Créez-en un à |
| CreateSource(Byte[]) |
Créez-en un à |
| CreateSource(ByteBuffer) |
Créez-en un à |
| CreateSource(ContentResolver, Uri) |
Créez-en un à |
| CreateSource(File) |
Créez-en un à |
| CreateSource(ICallable) |
Créez-en un à |
| CreateSource(Resources, Int32) |
Créez-en un à |
| DecodeBitmap(ImageDecoder+Source, ImageDecoder+IOnHeaderDecodedListener) |
Consultez l’article |
| DecodeBitmap(ImageDecoder+Source) |
Consultez l’article |
| DecodeDrawable(ImageDecoder+Source, ImageDecoder+IOnHeaderDecodedListener) |
Consultez l’article |
| DecodeDrawable(ImageDecoder+Source) |
Consultez l’article |
| Dispose() |
Classe permettant de convertir des images encodées (telles que |
| Dispose(Boolean) |
Classe permettant de convertir des images encodées (telles que |
| Equals(Object) |
Indique si un autre objet est « égal à » celui-ci. (Hérité de Object) |
| GetHashCode() |
Retourne une valeur de code de hachage pour l'objet. (Hérité de Object) |
| IsMimeTypeSupported(String) |
Retourne si le type MIME donné est un format de fichier pris en charge qui peut être décodé par cette classe. |
| JavaFinalize() |
Appelé par le garbage collector sur un objet lorsque le garbage collection détermine qu’il n’y a plus de références à l’objet. (Hérité de Object) |
| Notify() |
Réveille un thread unique qui attend le moniteur de cet objet. (Hérité de Object) |
| NotifyAll() |
Réveille tous les threads qui attendent le moniteur de cet objet. (Hérité de Object) |
| SetHandle(IntPtr, JniHandleOwnership) |
Définit la propriété Handle. (Hérité de Object) |
| SetTargetColorSpace(ColorSpace) |
Spécifiez le résultat souhaité |
| SetTargetSampleSize(Int32) |
Définissez la taille cible avec un sampleSize. |
| SetTargetSize(Int32, Int32) |
Spécifiez la taille de la sortie |
| ToArray<T>() |
Classe permettant de convertir des images encodées (telles que |
| ToString() |
Retourne une représentation de chaîne de l'objet. (Hérité de Object) |
| UnregisterFromRuntime() |
Classe permettant de convertir des images encodées (telles que |
| Wait() |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti par em ou> <em>interrompu</em>.<> (Hérité de Object) |
| Wait(Int64, Int32) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
| Wait(Int64) |
Provoque l’attente du thread actuel jusqu’à ce qu’il soit réveillé, généralement en étant <averti< par> em>ou <em>interrompu/em>,< ou jusqu’à ce qu’une certaine quantité de temps réel s’est écoulée. (Hérité de Object) |
Événements
| PartialImage |
Classe permettant de convertir des images encodées (telles que |
Implémentations d’interfaces explicites
| IJavaPeerable.Disposed() |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.DisposeUnlessReferenced() |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.Finalized() |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.JniManagedPeerState |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
Classe permettant de convertir des images encodées (telles que |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
Classe permettant de convertir des images encodées (telles que |
Méthodes d’extension
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
Classe permettant de convertir des images encodées (telles que |
| GetJniTypeName(IJavaPeerable) |
Classe permettant de convertir des images encodées (telles que |