언어

ImageDecoder 클래스

정의

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

[Android.Runtime.Register("android/graphics/ImageDecoder", ApiSince=28, DoNotGenerateAcw=true)]
public sealed class ImageDecoder : Java.Lang.Object, IDisposable, 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
상속
ImageDecoder
특성
구현

설명

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

사용하려면 먼저 오버로드 중 Source Source 하나를 사용하여 만듭니 createSource 다. 예를 들어 , 에서 Uri디코딩하려면 결과를 호출 #createSource(ContentResolver, Uri) 하고 다음으로 #decodeDrawable(Source) 전달합니다 #decodeBitmap(Source).

File file = new File(...);
             ImageDecoder.Source source = ImageDecoder.createSource(file);
             Drawable drawable = ImageDecoder.decodeDrawable(source);

기본 설정을 변경하려면 다음을 전달 Source Source 합니다OnHeaderDecodedListener OnHeaderDecodedListener.#decodeDrawable(Source, OnHeaderDecodedListener)#decodeBitmap(Source, OnHeaderDecodedListener) 예를 들어 원본 이미지의 너비와 높이의 절반으로 샘플링된 이미지를 만들려면 다음 내부#setTargetSampleSize setTargetSampleSize(2)를 호출 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);

ImageInfo ImageInfo 코딩된 이미지에 대한 정보(예: 너비 및 높이)가 포함되며Source Source, 단일 Source Source 이미지를 여러 OnHeaderDecodedListener OnHeaderDecodedListener 개체와 함께 사용하는 경우 특정 Source Source 이미지와 일치하도록 사용할 수 있습니다.

OnHeaderDecodedListener OnHeaderDecodedListener 람다로 구현할 수도 있습니다.

Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -&gt; {
                 decoder.setTargetSampleSize(2);
             });

인코딩된 이미지가 애니메이션 GIF 으로 표시되거나 WEBP애니메이션 #decodeDrawable decodeDrawable 이 적용된 AnimatedImageDrawable경우 . 애니메이션을 시작하려면 다음을 호출 AnimatedImageDrawable#start AnimatedImageDrawable.start()합니다.

Drawable drawable = ImageDecoder.decodeDrawable(source);
             if (drawable instanceof AnimatedImageDrawable) {
                 ((AnimatedImageDrawable) drawable).start();
             }

기본적으로 Bitmap 만든 ImageDecoder 사람(내부에 Drawable있는 항목 포함)은 변경할 수 없으며(즉 Bitmap#isMutable Bitmap.isMutable() , 반환 false) 일반적으로 포함 ConfigBitmap.Config#HARDWARE됩니다. 이러한 속성은 (호환 #setMutableRequired setMutableRequired(true) 및 호환만 가능)으로 #decodeBitmap(Source) 변경할 수 있지만 #decodeBitmap(Source, OnHeaderDecodedListener)최종 반환된 개체의 변경 가능성에 관계없이 사용자 지정 효과를 적용 #setAllocatorPostProcessor수도 #setPostProcessor setPostProcessor있습니다. A는 PostProcessor 람다일 수도 있습니다.

Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -&gt; {
                 decoder.setPostProcessor((canvas) -&gt; {
                         // 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;
                 });
             });

인코딩된 이미지가 불완전하거나 오류가 포함되어 있거나 디코딩 Exception 중에 발생하는 경우 DecodeException DecodeException throw됩니다. 경우에 따라 이미지의 ImageDecoder 일부를 디코딩했을 수 있습니다. 부분 이미지를 OnPartialImageListener OnPartialImageListener 표시하려면 에 전달 #setOnPartialImageListener setOnPartialImageListener되어야 합니다. 다음은 그 예입니다.

Drawable drawable = ImageDecoder.decodeDrawable(source, (decoder, info, src) -&gt; {
                 decoder.setOnPartialImageListener((DecodeException e) -&gt; {
                         // 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;
                 });
             });

에 대한 android.graphics.ImageDecoderJava 설명서

이 페이지의 일부는 만들고 공유한 작업을 기반으로 하며 에 설명된 조건에 따라 사용됩니다.

필드

속성 Description
AllocatorDefault
사용되지 않음.

픽셀 메모리에 대한 기본 할당을 사용합니다.

AllocatorHardware
사용되지 않음.

을 요구합니다 Bitmap.Config#HARDWAREBitmap.

AllocatorSharedMemory
사용되지 않음.

픽셀 메모리에 공유 메모리를 사용합니다.

AllocatorSoftware
사용되지 않음.

픽셀 메모리에 소프트웨어 할당을 사용합니다.

MemoryPolicyDefault
사용되지 않음.

내부Bitmap.Config에서 가장 자연스러운 Bitmap 사용을 사용합니다.

MemoryPolicyLowRam
사용되지 않음.

일부 이미지 품질의 비용으로 조밀도 Bitmap.Config 를 사용하여 가능하면 메모리를 저장합니다.

속성

속성 Description
Allocator

픽셀 메모리에 대한 할당자를 반환합니다. -또는- 픽셀 메모리에 대한 백업을 선택합니다.

Class

Object런타임 클래스를 반환합니다.

(다음에서 상속됨 Object)
Crop

자르기 사각형(설정된 경우)을 반환합니다. -또는- 크기 조정된 이미지의 출력을 subset 잘라 내세요.

DecodeAsAlphaMaskEnabled

단일 채널 입력을 알파로 처리할지 여부를 반환합니다. -또는- 출력을 알파 마스크로 처리할지 여부를 지정합니다.

DefaultProcessListener

프로세스 수준 기본 OnHeaderDecodedListener를 반환합니다.

DefaultThreadListener

스레드 수준 기본 OnHeaderDecodedListener를 반환합니다.

Handle

기본 Android 인스턴스에 대한 핸들입니다.

(다음에서 상속됨 Object)
JniIdentityHashCode

interop 런타임에 의해 이 Java 피어에 할당된 ID 해시 코드를 가져옵니다.

(다음에서 상속됨 Object)
JniManagedPeerState

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
JniPeerMembers

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

MemorySizePolicy

디코딩된 Bitmap에 대한 메모리 정책을 검색합니다. -또는- 디코딩된 Bitmap메모리 정책을 지정합니다.

MutableRequired

디코딩 Bitmap 된 변경이 가능한지 여부를 반환합니다. -또는- 변경할 수 있는지 여부를 Bitmap 지정합니다.

OnPartialImageListener

이 개체의 값을 OnPartialImageListener 설정(바꾸기)합니다.

PeerReference

이 Java 피어에 대한 JNI 개체 참조를 가져옵니다.

(다음에서 상속됨 Object)
PostProcessor

현재 집합을 PostProcessor 반환합니다. -또는- 디코딩 및 크기 조정 후 이미지를 수정합니다.

ThresholdClass

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
ThresholdType

이 API는 Android용 Mono 인프라를 지원하며 코드에서 직접 사용할 수 없습니다.

(다음에서 상속됨 Object)
UnpremultipliedRequired

미리 설명되지 않은 픽셀이 있는지 여부를 Bitmap 반환합니다. -또는- 미리 설명되지 않은 픽셀이 Bitmap 있어야 하는지 여부를 지정합니다.

메서드

속성 Description
Clone()

이 개체의 복사본을 만들고 반환합니다.

(다음에서 상속됨 Object)
Close()

이 리소스를 닫고 기본 리소스를 포기합니다.

Construct(JniObjectReference, JniObjectReferenceOptions)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
CreateSource(AssetManager, String)

자산 디렉터리의 파일에서 새 Source 파일을 만듭니다.

CreateSource(Byte[], Int32, Int32)

바이트 배열 영역에서 새로 Source 만듭니다.

CreateSource(Byte[])

바이트 배열에서 새 Source 배열을 만듭니다.

CreateSource(ByteBuffer)

에서 SourceByteBuffer 만들기

CreateSource(ContentResolver, Uri)

에서 Sourceandroid.net.Uri 만들기

CreateSource(File)

파일에서 새 Source 파일을 만듭니다.

CreateSource(ICallable)

를 반환하는 호출 가능 항목에서 새 Source 항목을 만듭니다 AssetFileDescriptor.

CreateSource(Resources, Int32)

리소스에서 새 Source 리소스를 만듭니다.

DecodeBitmap(ImageDecoder+Source, ImageDecoder+IOnHeaderDecodedListener)

#decodeBitmap(Source, OnHeaderDecodedListener)을(를) 참조하세요.

DecodeBitmap(ImageDecoder+Source)

#decodeBitmap(Source, OnHeaderDecodedListener)을(를) 참조하세요.

DecodeDrawable(ImageDecoder+Source, ImageDecoder+IOnHeaderDecodedListener)

#decodeDrawable(Source, OnHeaderDecodedListener)을(를) 참조하세요.

DecodeDrawable(ImageDecoder+Source)

#decodeDrawable(Source, OnHeaderDecodedListener)을(를) 참조하세요.

Dispose()

이 Java 피어에서 보유한 리소스를 해제합니다.

(다음에서 상속됨 Object)
Dispose(Boolean)

이 Java 피어에서 보유한 리소스를 해제합니다.

(다음에서 상속됨 Object)
DisposeUnlessReferenced()

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
Equals(Object)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
Equals(Object)

다른 개체가 이 개체와 "같음"인지 여부를 나타냅니다.

(다음에서 상속됨 Object)
GetHashCode()

개체에 대한 해시 코드 값을 반환합니다.

(다음에서 상속됨 Object)
IsMimeTypeSupported(String)

지정된 MIME 형식이 이 클래스에서 디코딩할 수 있는 지원되는 파일 형식이면 반환합니다.

JavaFinalize()
사용되지 않음.

가비지 수집에서 개체에 대한 참조가 더 이상 없다고 판단할 때 개체의 가비지 수집기에서 호출됩니다.

(다음에서 상속됨 Object)
Notify()

이 개체의 모니터에서 대기 중인 단일 스레드를 해제합니다.

(다음에서 상속됨 Object)
NotifyAll()

이 개체의 모니터에서 대기 중인 모든 스레드를 해제합니다.

(다음에서 상속됨 Object)
SetHandle(IntPtr, JniHandleOwnership)

Handle 속성을 설정합니다.

(다음에서 상속됨 Object)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
SetTargetColorSpace(ColorSpace)

출력에 원하는 ColorSpace 값을 지정합니다.

SetTargetSampleSize(Int32)

sampleSize를 사용하여 대상 크기를 설정합니다.

SetTargetSize(Int32, Int32)

출력 Drawable 의 크기를 지정하거나 Bitmap.

ToArray<T>()

이 Java 배열 래퍼에서 관리되는 배열을 만듭니다.

(다음에서 상속됨 Object)
ToString()

개체의 문자열 표현을 반환합니다.

(다음에서 상속됨 Object)
UnregisterFromRuntime()

interop 런타임에서 이 Java 피어의 등록을 취소합니다.

(다음에서 상속됨 Object)
Wait()

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <알림을 받><거나 ><>중단/종료<합니다.>

(다음에서 상속됨 Object)
Wait(Int64, Int32)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)
Wait(Int64)

현재 스레드가 각성될 때까지 대기하게 하며, 일반적으로 <>알림을 받<거나 >중단/<종료><>하거나 일정량의 실시간 경과가 발생할 때까지 대기합니다.

(다음에서 상속됨 Object)

이벤트

속성 Description
DefaultProcess

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

DefaultThread

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

PartialImage

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

명시적 인터페이스 구현

속성 Description
IJavaPeerable.Disposed()

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.Finalized()

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.JniObjectReferenceControlBlock

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.SetJniIdentityHashCode(Int32)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.SetPeerReference(JniObjectReference)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

(다음에서 상속됨 JavaObject)
IJavaPeerable.UnregisterFromRuntime()

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

확장명 메서드

속성 Description
GetJniTypeName(IJavaPeerable)

인스턴스 self형식의 JNI 이름을 가져옵니다.

JavaAs<TResult>(IJavaPeerable)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

JavaCast<TResult>(IJavaObject)

Android 런타임 확인 형식 변환을 수행합니다.

JavaCast<TResult>(IJavaObject)

인코딩된 이미지(예: PNG, , JPEGWEBP또는GIFHEIF)를 개체 DrawableBitmap 변환하기 위한 클래스입니다.

TryJavaCast<TResult>(IJavaPeerable, TResult)

형식self을 강제 TResult 변환하여 강제 변환이 Java 쪽에서 유효한지 확인합니다.

적용 대상